21.1.2 ADO.NET中的对象
ADO.NET组件由数据提供程序和数据集两部分组成,数据提供程序包括Connection、Command、DataReader、DataAdapter 4个对象,数据集就是指DataSet对象。下面就分别讲解这5个对象的概念以及使用方法。
1.Connection对象
Connection对象是连接对象,主要用来根据提供的数据库连接串连接数据库,对数据库连接的操作提供了打开数据库连接和关闭数据库连接两个方法。此外,在创建连接不同的数据库时,Connection对象要引入的命名空间以及名字也略有区别。例如,连接Oracle数据库使用OracleConnection,连接SQL Server数据库时使用的是SqlConnection。
2.Command对象
Command对象是命令对象,主要用来实现对数据库的操作,包括增加、删除、修改以及查询的操作。同样,Command对象根据不同的数据库命名空间以及对象的名字也有一些区别。但是无论是对哪个数据库中的数据进行管理,其SQL语句是不变的。例如,连接Oracle数据库使用的是OracleCommand,连接SQL Server数据库使用的是SqlCommand。
3.DataReader对象
DataReader对象是数据读取对象,它的主要作用是接收使用Command命令查询得到的结果。同样,在接收不同数据库中的查询结果时使用的对象名也是有区别的。例如,读取Oracle数据库中的查询结果使用的是OracleReader对象,读取SQL Server数据库中的查询结果使用的是SqlDataReader。但是DataReader对象的特点是只能按顺序来读取数据库中的数据。
4.DataAdapter对象
DataAdapter对象是数据适配器对象,它的主要作用是把从数据库中查询出来的结果填充到下面要讲的DataSet数据集对象中。根据查询的不同,数据库DataAdapter的名字也不同。例如,读取Oracle数据库中的数据使用的是OracleDataAdapter,而读取SQL Server数据库中的数据使用的是SqlDataAdapter。
5.DataSet对象
DataSet对象是数据集对象,它是数据库中的虚拟的表。把查询出来的数据通过DataAdapter数据适配器对象填充到DataSet数据集对象中后,就可以对DataSet数据集中的数据进行增加、删除、修改以及查询的操作。此时把数据库中的数据填充到数据集之后,数据集就与数据库断开使用了,所以在对数据集中的数据进行操作后是不会改变数据库中的数据的。如果要改变数据库中的数据,还需要在对数据集中的数据修改后使用数据集的更新方法把数据更新到数据库中。这种使用DataSet来存放数据库中的查询结果并对数据库中的数据进行操作的方法称为断开式数据连接。这也是ADO.NET中的一个亮点。由于本书主要是讲解Oracle的,这部分内容就不再详细讲解了,对.NET感兴趣的读者可以参考其他.NET方面的书籍学习。