• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

DataReader使用

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 18次 | 进入软件测试论坛讨论

领测软件测试网  

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()

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网