|
ADO.Net 有两种访问数据库源的方式,分别为Dagareader对象及DataSet 对象,就里说一下DataReader DataReader对象是用来读取数据库的最简单方式,它只能读取,不能写入,并且是从头至尾往下读的,无法只读某条数据,但它占用内存小,速度快,有时需要用. DataReader的创建 首行当然是打开数据库,然后建立Command对象,确认执行的SQL语句,最后用Commandname.ExecuteReader()方式返回一个DataReader对象,有二种方式 ACCESS数据库: Dim ObjReader As OleDataReader = objCmd.ExecuteReader() MSSQL数据库 Dim ObjReader As SqlDataReader = objCmd.ExecuteReader() objReader 是建立后的Datareader的实例 DataReader 常用属性 属性表| FieldCount | 获取字段数目 | | IsClosed | 取得状态True or Fals | | Item({name,ordinal}) | 获取或设置字段内容,name为字段名,ordinal为字段序号,可选用 | | RecordsAffected | 获取执行insert delete 或update后有多少行受到影响 | DataReader 常用方法 CLose() 关闭 GetBoolean(ordinal) 取得第 ordinal+1列的内容,返回值为boolean类型,还有GetByte(ordinal),GetDecimal(ordinal)..... GetDataTypeName(ordinal) 取得第ordinal+1列的源数据类型名称 GetFileType(ordinal) 取得第ordinal+1列的数据类型 GetName(ordinal) 取得ordinal+1列的字段名称 GetOrdinal(name) 取得字段名称为name的字段列号 GetValue(ordinal) 取得ordinal+1列的内容 GetValues(values) 取得所有字段内容,并将内容放在values数组中,数组大小与字段数目相等,些方式比GetValue()更有效率 IsDBNull(orderinal) 判断第ordinal+1列是否为Null ,返回Boolean Read() 读取下一条数据,如果没有了,将返回False 做个例子(SQL数据库): '创建数据库 Dim objConn As New SqlConnection objConn.ConnectionString = "server=localhost;database=xxxx;uid=sa;pwd=xxxxx" objConn.open() 'Label1.Text = "数据库已打开" '创建DataReader对象 Dim objCmd As New SqlCommand objCmd.Connection = objConn objCmd.CommandText = "select * from adminlog_cc" Dim objReader As SqlDataReader = objCmd.ExecuteReader() '读取并显示数据 Dim I As Integer Response.Write("<table border='1'><tr align='center'>") For I = 0 To objReader.FieldCount - 1 Response.Write("<td>" & objReader.GetName(I) & "</td>") Next Response.Write("</tr>") While objReader.Read Response.Write("<tr>") For I = 0 To objReader.FieldCount - 1 Response.Write("<td>" & objReader.GetValue(I) & "</td>") Next Response.Write("</tr>") End While Response.Write("</table>") '关闭 objReader.Close() objConn.Close()
|