<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 使用`SqliteDataReader`檢索數據 > 原文: [http://zetcode.com/db/sqlitevb/read/](http://zetcode.com/db/sqlitevb/read/) `SqliteDataReader`是用于從數據庫檢索數據的類。 它與`SqliteCommand`類一起使用以執行 SQL `SELECT`語句,然后訪問返回的行。 它提供對查詢結果的快速,僅轉發和只讀訪問。 這是從表中檢索數據的最有效方法。 我們不使用構造器,而是通過調用`SqliteCommand`對象的`ExecuteReader()`方法來創建`SqliteDataReader`的實例。 在使用`SqlDataReader`時,關聯的`SqlConnection`為`SqlDataReader`服務。 除了關閉`SqlConnection`之外,無法執行其他任何操作。 ```vb Option Strict On Imports Mono.Data.Sqlite Module Example Sub Main() Dim cs As String = "URI=file:test.db" Using con As New SqliteConnection(cs) con.Open() Using cmd As New SqliteCommand(con) cmd.CommandText = "SELECT * FROM Cars LIMIT 5" Dim rdr As SqliteDataReader = cmd.ExecuteReader() Using rdr While (rdr.Read()) Console.WriteLine(rdr.GetInt32(0) & " " _ & rdr.GetString(1) & " " & rdr.GetInt32(2)) End While End Using End Using con.Close() End Using End Sub End Module ``` 我們從`Cars`表中獲得 5 輛汽車,并將它們打印到控制臺。 ```vb Dim rdr As SqliteDataReader = cmd.ExecuteReader() ``` 要創建`SQLiteDataReader`對象,我們必須調用`SqliteCommand`對象的`ExecuteReader()`方法。 ```vb While (rdr.Read()) Console.WriteLine(rdr.GetInt32(0) & " " _ & rdr.GetString(1) & " " & rdr.GetInt32(2)) End While ``` `Read()`方法將數據讀取器移至下一條記錄。 如果有更多行,則返回`true`;否則,返回`true`。 否則為假。 我們可以使用數組索引符號來檢索值,或者使用特定的方法來訪問其本機數據類型中的列值。 后者效率更高。 ```vb $ mono retrieve.exe 1 Audi 52642 2 Mercedes 57127 3 Skoda 9000 4 Volvo 29000 5 Bentley 350000 ``` `Cars`表的前五行。 我們可以通過字段的列名來檢索字段。 ```vb Option Strict On Imports Mono.Data.Sqlite Module Example Sub Main() Dim cs As String = "URI=file:test.db" Using con As New SqliteConnection(cs) con.Open() Using cmd As New SqliteCommand(con) cmd.CommandText = "SELECT * FROM Cars LIMIT 5" Dim rdr As SqliteDataReader = cmd.ExecuteReader() Using rdr While (rdr.Read()) Console.Write("{0} ", rdr("Id")) Console.Write("{0} ", rdr("Name")) Console.WriteLine("{0} ", rdr("Price")) End While End Using End Using con.Close() End Using End Sub End Module ``` 該示例從`Cars`表中打印 5 行。 這次我們使用列名來獲取表字段。 ```vb While (rdr.Read()) Console.Write("{0} ", rdr("Id")) Console.Write("{0} ", rdr("Name")) Console.WriteLine("{0} ", rdr("Price")) End While ``` 數據庫表字段由其列名引用。 ## 多個語句 ADO.NET 規范允許在單個字符串中執行多個語句。 如有查詢,`SqliteDataReader`返回多個結果集。 它具有`NextResult()`方法來瀏覽結果集。 ```vb Option Strict On Imports Mono.Data.Sqlite Module Example Sub Main() Dim cs As String = "URI=file:test.db" Using con As New SqliteConnection(cs) con.Open() Using cmd As New SqliteCommand(con) cmd.CommandText = "SELECT 25; SELECT 44; SELECT 33" Dim rdr As SqliteDataReader = cmd.ExecuteReader() Using rdr Do rdr.Read() Console.WriteLine("{0}", rdr.GetInt32(0)) Loop While rdr.NextResult() End Using End Using con.Close() End Using End Sub End Module ``` 我們在一個 SQL 字符串中有三個查詢。 將有三個結果集。 ```vb cmd.CommandText = "SELECT 25; SELECT 44; SELECT 33" ``` 有三個`SELECT`語句。 它們之間用分號分隔。 它們每個都將返回一個值。 ```vb Do rdr.Read() Console.WriteLine("{0}", rdr.GetInt32(0)) Loop While rdr.NextResult() ``` `Read()`方法將`SqliteDataReader`移至下一條記錄。 `GetInt32()`方法將值檢索為 32 位帶符號整數。 `NextResult()`將數據讀取器移至下一個結果。 ```vb $ mono multiple.exe 25 44 33 ``` 運行示例。 我們已經完成了`SqliteDataReader`的數據讀取。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看