在取得Command对象执行ExecuteReader方法所产生的DataReader对象后,我们就可以将记录中的数据取出使用。DataReader一开始并没有取回任何数据,所以要调用Read方法让DataReader先读出一笔数据。
在上面的代码中,reader.GetValue(i)等价于reader[i]或reader[reader.GetName(i)],区别在于GetValue只能通过索引来访问数据,而后者则可以通过键值和索引两种方式访问数据。
因为DataReader在读取数据的时候限制了每次以只读的方式读取一条记录,ADO.NET组件所以使用DataReader不但节省资源而且效率很高。使用DataReader对象除了效率较高之外,因为不用把数据全部传回,所以可以降低网络的负载。#t#
DataAdapter对象及使用
DataAdapter对象主要是在Connection对象和DataSet对象之间执行数据传输的工作,ADO.NET组件这个对象架构在Command对象上。DataAdapter通过Command对象对数据源执行SQL命令,将数据填充到DataSet对象,以及把DataSet对象中的数据更新返回到数据源中。
ADO.NET组件的常用方法:
(1)Update:根据保存在DataSet中的数据来更新数据源中的数据。
(2)Fill:利用数据源中的数据填充或刷新DataSet,其返回值是加载到DataSet行数量。ADO.NET组件方法使用DataAdapter对象的SelectCommand的结果来填充DataSet。
DataAdapter对象的常用属性:#t#
(1)SelectCommand:从数据源中检索数据。
(2)InsertCommand:向数据源中插入数据。
(3)DeleteCommand:从数据源中删除数据。
(4)UpdateCommand:更新数据源中的数据。
使用DataAdapter对象进行数据更新操作
如果在DataSet中已经有了变化,这种情况下,ADO.NET组件使用DataAdapter的Update方法来实现将本地数据的修改写回至数据源将是一个更好的选择,代码段如下所示: