使用 DataReader 对象访问数据库
使用 connection 和 command 对象建立好数据库连接并执行命令后,可以用
datareader 对象逐行从数据源中读取数据,放进缓冲区进行处理,这时只能读,
不能写。
DateReader 对 象 和 数 据 源 的 类 型 紧 密 连 接 : SQL Server 数 据 源 使 用
SqlDataReader 类,OLE DB 数据源使用 OleDbDataReader。
DataReader 对象的属性:
Fieldcount:取得当前记录的字段数
DataReader 对象的方法:
Getname(i):取得指定下标 i 字段的名称
Getvalue(i):取得指定下标 i 字段的内容
Getvalues(arr):取得当前记录所有字段的内容,并将各字段的内容装入数组
arr 中。
GetFieldType(i):获得第 i 个字段的数据类型
Read():读入下一条记录
Close():关闭 DataReader 对象
案例 datareader1.aspx
按姓名查询学生成绩
(1) 建立数据库连接并打开。
OleDbConnection MyConn = new OleDbConnection();
string ConnStr = " Provider=Microsoft.Jet.OLEDB.4.0;data
source= " + Server.MapPath("db1.mdb");
MyConn.ConnectionString = ConnStr;
MyConn.Open();
(2) 建立 command 对象,并设置 select 语句。
OleDbCommand mycomm = new OleDbCommand();
mycomm.CommandText = "select * from xscj where
xm='"+TextBox1.Text+"'";
mycomm.CommandType = CommandType.Text;
mycomm.Connection = MyConn;
(3) 声明一个 OleDbDataReader 对象,其语法格式是:
SqlDataReader 对象名;调用Command对象的ExecuteReader()方法从
数据源检索行,然后把值赋给SqlDataReader对象。
如
OleDbDataReader mr;
mr = mycomm.ExecuteReader();
注意:SqlDataReader 对象是由 Command 对象执行 ExecuteReader()方法时生成