微信扫一扫

028-83195727 , 15928970361
business@forhy.com

ADO.NET数据库访问技术基础篇二

2016-07-15

《ADO.NET数据访问技术基础篇一》

DataReader

基本概念

    通过DataReader我们可以以只读、顺序的方式查看数据库中的数据

常用属性

IsClosed

    判断DataReader是否关闭。

RowFetchCount

    用来设定一次取回多少笔记录,预设值为1笔。

DataSet

基本概念

    DataSet是由一组DataTable对象组成,我们可以把DataSet看成是临时存在内存中的数据库。DataSet是独立于数据库的数据集合,也就是说在断开数据连接或者关闭数据库的状态下,DataSet仍然是可用的。因为DataSet的内部是使用XML来描述数据的,所以DataSet具有XML的特性:与平台无关、与语言无关、可描述数据之间的复杂关系。DataSet可以将数据和架构作为XML文档进行读写,数据和架构可以通过HTTP进行传输,并在支持XML的任何平台上被任何应用程序使用。

多年老搭档

DataTable

    DataSet是我们放在内存中的一个临时的数据库,DataTable就相当于这个临时数据库中的数据表或者数据视图。在DataTable中,存在DataRow和DataColumn这两个对象。DataRow对应实际数据表中的行(记录)、DataColumn对应数据表中的列(字段)。DataTable可以保存记录的初始状态和当前状态,而同样可以实现DataTable相当于真实数据表功能的Recordset则不能保存记录的初始状态和当前状态,所以DataTable和Recordset是完全不同的两个概念。
    DataColumn用来存放自定义数据;DataRow表示DataType中实际的数据,我们通过DataRow将数据添加到用DataColumn定义好的DataTable中。

DataTableCollection

    DataTableCollection负责管理所有的DataTable。

DataRelationCollection

    DataRelationCollection对象就是管理DataTable的关系DataRelation。

ExtendedProperties

操作步骤

    1、通过DataAdapter使用数据源中的数据生成和填充DataSet中的每个DataTable。
    2、通过添加、更新或者删除DataRow对象更改单个DataTable中的数据。
    3、调用GetChanges方法创建只反映对数据进行的更改的第二个DataSet。
    4、调用DataAdapter总的Update方法,并将第二个DataSet作为参数进行传递。
    5、调用Merge方法将第二个DateSet中的更改合并到第一个中。
    6、针对DataSet调用AcceptChanges或者调用RejectChanges取消更改。

DataAdapter

基本概念

    DataAdapter表示一组SQL命令和一个数据库连接,用于填充DataSet和更新数据源中的数据,为DataSet和数据源之间提供数据交互的功能。DataAdapter对象有一系列Command对象和决定DataAdapter如何与DataSet对象通信的映射属性的集合组成。

常用属性

    DataAdapter有SelectCommand、InsertCommand、UpdateCommand和DeleteCommand这四个属性,这四个属性实际上是Command的实例对象。我们可以通过这四个属性指定执行既定的SQL语句或者某个存储过程。

常用方法

Fill

    调用SelectCommand属性指定的SELECT语句,并将这些放到DataSet中的表中,最后对数据源进行更新。

Update

    将DataSet表的更改反馈到相应的数据源中,为DataSet的DataTable中的每一指定的行调用相应的INSERT、UPDATE或者DELETE命令。

运行机制

    当使用DataAdapter将查询结果存储到DataSet时,DataAdapter使用Command对象执行对数据库的操作。DataAdapter通过DataReader读取结果,然后将结果复制到DataSet的新行中。DataAdapter把对数据库中的数据进行操作的Command对象存储在DataAdapter对象中的SelectCommand属性中。

操作步骤

    1、创建Connection对象,连接到数据库。
    2、创建DataAdapter对象,该对象包含4个可以指向Command对象的属性,通过这些属性我们可以指定SQL语句从而在数据库中进行SELECT、INSERT、DELETE和UPDATE等操作。
    3、创建一个包含多个表的DataSet对象。
    4、通过DataAdapter对象调用Fill方法来填充DateSet中的DataTable。
    5、修改DataSet中的数据,我们可以通过代码执行修改或者将DataSet绑定的用户界面控件(例如DataGrid),然后在控件中更改数据。
    6、通过DataAdapter对象调用Update方法,将修改后的数据返回数据库。

DataTable

基本概念

    DataTable是一个临时存储在内存中的网格虚拟表

常用属性

Columns

    获取属于该表的列的集合。

Rows

    获取属于该表的行的集合。

常用方法

Clear

    清除所有DataTable的数据。

Clone

    克隆DataTable的完整结构。

Copy

    复制DataTable的结构。

Dispose

    释放空间。

Equals

    判断指定的对象是否等于当前对象。

使用说明

创建

    DataTable可以单独使用,也可以作为DataSet或者DataView等对象的组成部分一起使用。
    方法一:我们可以使用Add方法将DataTable添加到单独的DataTable对象的Tables集合或者DataSet对象中。
    方法二:使用DataAdapter对象的Fill方法或者FillSchema方法在DataSet中创建。

注意事项

    一、将一个DataTable作为成员添加到一个DataSet的Tables集合中后,不能再将其添加到其他DataSet中。

    二、初次创建DataTable时,默认没有架构,需要自行定义架构。要定义表的架构,我们需要创建DataColumn对象并将其添加到Columns集合中;再定义了架构后,通过将DataRow对象添加到Rows结合中将数据行添加到表中。

    三、创建DataTable时,不强制要求定义TableName属性的值;在该值留空时,默认从0开始对DataTable进行命名。

总结

    总结的话,觉得用图阐述更简洁明了。

感谢您的宝贵时间,祝生活愉快,谢谢~~~
                                              —joker