【asp源码栏目提醒】:网学会员为广大网友收集整理了,ASP NET程序设计及应用 07第07章利用数据集访问数据库 - 行政公文,希望对大家有所帮助!
第7章利用数据集访问数据库本章学习目标数据集的基本概念DataSet对象与Adapter对象利用数据集访问数据库的基本技术第7章利用数据集访问数据库7.1 数据集的基本概念7.2 利用DataSet显示记录7.3 利用DataSet对数据源中的记录进行编辑7.4 利用DataView访问内存数据表中的记录7.5 将XML文档传入内存数据库7.6 一个用于创建内存数据库的函数7.1 数据集的基本概念在
ASP.NET中数据集DataSet对象是进行数据库处理的核心部件。
DataSet是一个位于内存中的数据库该数据库中的内容由程序设计者直接用程序建立也可以从已经存在的数据库中传入。
以后一方式居多。
数据集DataSet对象具有下列特点利用DataSet可在内存中得到一个数据库该数据库中的数据表可来自不同的物理数据库DataSet使用“无连接传输模式”访问数据源通过对Adapter进行设置和编程可以十分方便地将DataSet中的记录回写至数据源中
ASP.NET中可与数据库结合的控件都只能接受DataSet中的记录而与实际的数据源无直接联系。
7.1 数据集的基本概念在
ASP.NET中将DataSet与数据源相联系的对象被称为DataAdapter数据适配器。
数据源、DataAdapter与DataSet三者的关系如图所示。
DataSet用户进行的所有的数据处理操作如记录的“插”、“增”、“删”、“改”等都在该对象中进行数据源可以是各种数据库、XML文档等DataAdapter将数据源中的数据写入DataSet根据DataSet中的内容更新将数据源7.2 利用DataSet显示记录1利用DataSet显示数据表内容下面是一个利用DataSet将位于数据库中的“成绩表”内容完全显示在页面上例子。
运行结果如图所示。
7.2 利用DataSet显示记录2利用DataSet实现的一个简单查询模块下面是一个利用DataTable对象的有关属性实现的一个简单查询模块在该页面中最终用户可以自由指定需要查询的记录和字段。
该模块的编程思路是读取“成绩表”所有记录的“姓名”字段内容将其加入下拉列表成为可供最终用户选择的条目读取除第一个字段之外的所有字段的字段名称将其加入另一个下拉列表成为可供最终用户选择的条目。
最终用户进行选择并提出查询请求后程序将根据用户的选择定位数据项并在页面上显示查询结果。
本例运行结果如图所示。
7.3 利用DataSet对数据源中的记录进行编辑利用DataSet对数据源中的记录进行编辑的主要步骤是将数据源中的有关内容写入内存数据库更改内存数据库中的内容更改完成后利用DataAdapter对象的Update方法使数据源中的相应内容与内存数据库同步。
需要指出的是在使用DataSet对象编辑数据源时DataAdapter对象的Update方法并不能自动同步数据源而要求编程者自行建立适当的SQL命令并给出正确的参数一切无误后Update方法才能正常执行。
下面是一个利用DataSet对数据源中的记录进行编辑的例子。
程序运行前后“成绩表2”中的内容如图所示。
7.3 利用DataSet对数据源中的记录进行编辑利用DataSet对数据源中的记录进行编辑的主要步骤是将数据源中的有关内容写入内存数据库更改内存数据库中的内容更改完成后利用DataAdapter对象的Update方法使数据源中的相应内容与内存数据库同步。
需要指出的是在使用DataSet对象编辑数据源时DataAdapter对象的Update方法并不能自动同步数据源而要求编程者自行建立适当的SQL命令并给出正确的参数一切无误后Update方法才能正常执行。
下面是一个利用DataSet对数据源中的记录进行编辑的例子。
程序运行前后“成绩表2”中的内容如图所示。
7.3 利用DataSet对数据源中的记录进行编辑利用DataSet对数据源中的记录进行编辑时最为棘手的工作是设置用于更新数据源的SQL语句及参数。
事实上如果使用CommandBuilder对象则系统可根据内存数据表自建立以来的变化情况自动生成UpDateCommand、DeleteCommand及InsertCommand属性从而简化编码难度。
但是使用这种方法时对数据结构、内容等都有一些较为苛刻的要求如数据表必须包含主键字段、数据表不能与其他数据表关联数据表或字段中不能包含特殊字符等。
7.4 利用DataView访问内存数据表中的记录基本上可以将DataView视为DataSet的子集利用DataView对象直接从内存数据库中抽取数据进行处理。
它包含DataSet的全部或一部分。
下面是一个利用DataView对象抽取DataSet对象中的部分内容并以特定的次序将这些内容显示在页面中的例子。
被传入内存数据库的“数据表4”的内容及程序运行结果如下图所示。
7.5 将XML文档传入内存数据库内存数据库中的数据可以来自XML文档。
下面是一个将XML文档内容传入内存数据库并将其显示在页面上的例子。
程序运行结果如图所示。
7.6 一个用于创建内存数据库的函数在开发基于数据库的
ASP.NET页面时通常必须建立内存数据库。
为了便于日后使用创建DataSet对象并在DataSet建立数据表的代码块写成函数的形式并保存在名为Prac07-07.inc文件中。
在本书后续实例中当程序需要使用内存数据表时均首先用引入将该文件。