首页 理论教育 ASP.NET应用程序开发技术:学习引导及数据绑定方法

ASP.NET应用程序开发技术:学习引导及数据绑定方法

时间:2023-10-21 理论教育 版权反馈
【摘要】:前者称为使用DataReader及其相关对象操作数据库,后者称为使用DataSet操作数据库。ASP.NET实现数据输出的典型做法是通过将DataReader绑定到数据绑定控件的技术实现。关于多层结构的ASP.NET Web应用程序将在下一个学习任务中讨论,因此,本学习任务选择DataReader从数据库返回数据。

ASP.NET应用程序开发技术:学习引导及数据绑定方法

ADO.NET访问数据库有两种方式。一种方式是查询结果以数据流的方式直接输出到Web页面,插入、更新和删除也是直接对物理数据库操作;另一种方式是将查询返回的数据缓存到Web服务器内存中的虚拟数据库中,插入、修改和删除等不是直接操作物理数据库,而是操作该虚拟数据库,然后再同步更新到物理数据库。前者称为使用DataReader及其相关对象操作数据库,后者称为使用DataSet操作数据库。

1.DataReader及其相关对象操作数据库原理

如图4-6所示,DataReader操作数据库是由Connection、Command和DataReader等3个对象完成的。

978-7-111-43260-9-Chapter04-6.jpg

图4-6 DataReader及其相关对象操作数据库原理示意图

Connection对象:用来连接到数据库,以便下述Command对象对连接的数据库执行查询、插入、更新和删除等SQL命令。

Command对象:用于执行查询、插入、更新和删除等SQL命令。执行Command对象SQL查询语句将产生DataReader对象,以便实现数据的显示输出;将执行Command对象SQL插入、更新和删除语句则可实现数据库记录的插入、修改和删除操作(图4-6中步骤1~2所示的是使用Command对象与数据绑定控件对数据库实现插入、删除和更新:步骤1用户通过数据绑定控件向Command对象发出插入、删除和更新命令;步骤2执行Command对象的SQL–INSERT、SQL–DELETE或SQL–UPDATE语句对数据库实现插入、删除和更新操作)。

DataReader对象:用于实现数据输出的前向、只读的数据流。

ASP.NET实现数据输出的典型做法是通过将DataReader绑定到数据绑定控件的技术实现。图4-6中步骤①~②所示的是利用Connection对象建立的数据库连接执行Command对象的SQL-SELECT查询语句并将查询结果以DataReader数据流方式返回;步骤③~④所示的是将数据绑定控件绑定到DataReader并将数据库中的数据显示出来。

2.DataSet操作数据库原理

当查询数据时,返回的结果以“虚拟数据库”的方式保存在站点Web服务器内存之中,该虚拟数据库即DataSet。若插入、更新和删除数据,也不是直接对物理数据库,而是首先操作Web服务器内存中“虚拟数据库”,然后通过一个叫做数据适配器的DataAdapter对象将Web服务器内存中“虚拟数据库”同步到物理数据库。

DataSet操作数据库涉及Connection对象、DataAdapter对象和DataSet对象,其操作数据库原理如图4-7所示。

978-7-111-43260-9-Chapter04-7.jpg

图4-7 DataSet操作数据库原理的示意图(www.xing528.com)

1)步骤①~②所示的是将数据填充到DataSet:首先借助Connection连接对象创建DataAdapter对象,然后使用DataAdapter对象的Fill()方法执行DataAdapter对象的SelectCommand属性中SQL-SELECT查询语句将返回的数据以虚拟数据表的形式填充到DataSet中。

2)步骤③所示的是将数据绑定控件绑定到DataSet以显示数据。

3)步骤④所示的是DataSet接受数据绑定控件插入、删除和更新命令在DataSet中虚拟数据表中插入、修改和删除数据记录。

4)步骤⑤~⑥所示的是使用DataAdapter对象的Update()方法执行DataAdapter对象InsertCommand、UpdateCommand和DeleteCommand等属性中INSERT、UPDATE和DELETE等SQL语句,将DataSet中虚拟数据表由于插入、修改和删除发生的变化更新到物理数据库。

3.技术选择

不难理解,DataReader或者DataSet的作用类似于数据源控件,它可以从数据库查询和利用数据绑定控件显示数据,还可以通过数据绑定控件接收用户对数据库进行插入、修改和删除命令来实现对数据库进行插入、修改和删除操作。问题是选择DataReader还是DataSet?数据绑定控件又选择什么呢?

(1)从数据库返回数据的技术选择

DataSet首先在Web服务器上存储数据,然后再输出数据,因此会额外占用Web服务器内存资源,如果站点访问量比较大会导致Web服务器的访问速度降低,因此一般情况下使用DataReader技术从数据库返回数据是首选。但是,对于多层结构的应用程序,需要通过函数返回数据库数据,由于通过DataReader返回数据无法关闭数据库连接,而DataSet可自动打开或关闭数据库连接,此时使用DataSet技术从数据库返回数据应该是优先选择。关于多层结构的ASP.NET Web应用程序将在下一个学习任务中讨论,因此,本学习任务选择DataReader从数据库返回数据。

(2)插入、删除和修改更新数据记录的技术选择

直接执行Command对象的SQL语言的插入、更新和删除命令插入、删除和更新数据库记录明显地比DataSet实现同样的任务效率要高、占用的Web服务器内存资源小。因此不推荐使用DataSet插入、删除和修改更新数据记录。

(3)使用数据绑定控件的技术选择

所有的数据绑定控件都可以与DataReader或者DataSet配合以实现数据库操作。由于第三学习单元读者已经较系统地使用了GridView、DetailsView控件,为了使读者接触更多的数据绑定控件操作数据库技术,本学习单元使用DataList控件和FormView控件协同DataReader设计实现任务场景描述的任务。至于其他数据绑定控件如何与DataReader或者DataSet配合以实现数据库操作,读者可以举一反三。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈