網域查詢: www.
返回首頁

DataReader使用

時間:2010-02-13 00:35來源: 作者: 點擊:
ADO.Net 有兩種訪問數據庫源的方式,分別為Dagareader對象及DataSet 對象,就里說一下DataReader DataReader對象是用來讀取數據庫的最簡單方式,它只能讀取,不能寫入,並且是從頭至尾往下讀的,無法只
  

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


頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
最新評論 查看所有評論
發表評論 查看所有評論
請自覺遵守互聯網相關的政策法規,嚴禁發佈色情、暴力、反動的言論。
評價:
表情:
用戶名: 密碼: 驗證碼:
推薦內容