快速业务通道

ASP.NET 2.0数据教程之四十七:使用SqlDataSource控件查询数据

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

返回“ASP.NET 2.0数据教程目录”

导言

到目前为止,我们所做的教程都使用了一个包含表示层、业务逻 辑层以及数据访问层的分层架构。在第一节教程(创建一个数据访问层)中,我 们讲解了数据访问层(DAL),第二节教程(创建一个业务逻辑层)中,我们又讲 解了业务逻辑层。从教程“使用ObjectDataSource展现数据”开始, 我们看到了如何在这个架构里面,通过使用ASP.NET2.0中新出现的 ObjectDataSource控件在表示层展示数据。

所有的这些教程都是使用这样 的架构来操作数据的,当然,我们也可以绕过这个架构,直接在ASP.NET页面上访 问、插入、更新以及删除数据库中的数据。要这样做的话,你需要将特定的数据 库查询以及业务逻辑直接放到网页中。对于一个很大的或者很复杂的应用程序来 说,设计、实现以及使用一个分层的架构,对其是否能够顺利完成以及日后的可 升级性、可维护性都将是非常重要的。不过,对于一个非常简单的、就一个人用 的小程序来说,开发一个所谓健壮的架构兴许就不那么必要了。

ASP.NET2.0提供了五个内建的数据源控件——SqlDataSource 、AccessDataSource、ObjectDataSource、XmlDataSource以及 SiteMapDataSource。SqlDataSource可以用来直接访问和修改关系型数据库中的 数据,比如Microsoft SQL Server、Microsoft Access、Oracle、 MySQL……等等。在本教程以及接下来的三个教程中,我们将讲解如 何使用SqlDataSource,如何用它来查询数据库中的数据,以及如何用它来插入、 更新、删除数据。

ASP.NET 2.0数据教程之四十七:使用SqlDataSource控件查询数据

图一:ASP.NET2.0含有5个内建的数据源控件

比较 ObjectDataSource和SqlDataSource

在概念上来讲,ObjectDataSource和 SqlDataSource都是面向数据的简单代理。就像在教程“使用 ObjectDataSource展现数据”中所讨论的那样,ObjectDataSource拥有一些 指示对象类型的属性(Properties),这些对象类型提供了数据以及方法以便于 查询、插入、更新以及删除。当ObjectDataSource的这些属性被配置好之后,一 个数据Web控件(data Web control)——比如GridView、 DetailsView或是DataList——就能够绑定它了,并通过 ObjectDataSource的Select()、Insert()、Delete()以及Update()方法与潜在的 架构进行交互。

SqlDataSource提供了相同的功能,只不过是操作一个关 系型数据库而不是一个对象库。通过SqlDataSource,我们需要给出一个数据库连 接字符串,还有SQL语句或是存储过程,然后就可以执行插入、更新、删除、查询 操作了。当调用SqlDataSource的Select()、Insert()、Delete()以及Update()方 法时,会连接到指定的数据库并发出相应的SQL查询。如下图所示,这些方法都替 我们干了一些比较烦人的事情,包括连接数据库、发出查询请求以及返回查询结 果。

ASP.NET 2.0数据教程之四十七:使用SqlDataSource控件查询数据

图二:SqlDataSource就像一个数据库代理一样

注意:在本教程 中,我们主要讨论从数据库获取数据。在教程“使用SqlDataSource控件插 入、更新以及删除数据”中,我们将看到如何配置SqlDataSource以支持插 入、更新以及删除操作。

SqlDataSource控件与AccessDataSource控件

除了SqlDataSource控件之外,ASP.NET2.0还提供了一个叫做 AccessDataSource的控件。这两个不同的控件让很多刚刚接触ASP.NET2.0的开发 人员产生了误解,认为AccessDataSource控件就是专门为Microsoft Access设计 的,而SqlDataSource控件则是专门为Microsoft SQL Server设计的。实际上,虽 然AccessDataSource的确是专门为Microsoft Access而设计的,但SqlDataSource 却是为任何能通过.NET访问的关系型数据库而设计的,包括任何兼容OleDb或ODBC 的数据存储,比如Microsoft SQL Server、Microsoft Acce

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号