你说的非常对。
只有一种情况不用打开 sqlconnection
那就是使用SqlDataAdapter类的时候不用打开,因为这个对象是自动打开并且自动关闭的。
SqlDataReader 是一个在线的阅读器,每次只能读取一条,并且在读取过程中连接一直要保持打开。
如果需要离线处理数据(关闭数据库连接),那么可以考虑使用 DataSet 或 DataTable 来保存数据。
他的确是从dataset读取...
无连接状态
你理解的非常对 你对对巨库进行操作 无论是增删改查哪一种都要保持与数据库的链接 open方法一定要有
DataReader 对象在操作的时候Connection 对象是保持联机的状态
下表为DataReader 常用的方法:
方法 说明
Close 将DataReader 对象关闭
GetDataTypeName 取得指定字段的数据型态
GetName 取得指定字段的字段名称
GetOrdinal 取得指定字段名称在纪录中的顺序
GetValue 取得指定字段的数据
GetValues 取得全部字段的数据
IsNull 用来判断字段内是否为Null 值
NextResult 用来和SQL Script 搭配使用,表示取得下一个结果
Read 让DataReader 读取下一笔记录,如果有读到数据则传回True,若没有纪录则传回False
Read 方法
在取得Command 对象执行Execute 方法所产生的DataReader 对象后,我们就可以将纪录中
的数据取出使用。DataReader 一开始并没有取回任何数据,所以我们要先使用Read 方法让
DataReader 先读取一笔数据回来。如果DataReader 对象成功取得数据则传回True,若没有取
得资料则传回False。这样一来我们就可以利用Do While...Loop 循环来取得所有的数据,