2017/09/30

[ADO.NET] VB.net 資料庫連線 III

接續前一篇 [ADO.NET] VB.net 資料庫連線 II 。 這一次要說明如何從資料庫取得資料


Dim VbConnectionString As String = "資料庫連線字串設定方式請參考 "VB.NET 資料庫連線語法 I

首先是使用DataReader來取得資料,DataReader適合在取得的資料量不多的情形下使用
Using VbConn As SqlClient.SqlConnection = New SqlClient.SqlConnection(VbConnectionString)

   VbConn.Open()

   Using VbCommand As SqlClient.SqlCommand = VbConn.CreateCommand
     VbCommand.CommandText="SELECT * FROM Test"

     Using VbReader As SqlClient.SqlDataReader=VbCommand.ExecuteReader
         Dim GetData As String=""
         Do While VbReader.Read
             GetData= VbReader.Item("欄位名稱")
         Loop
       End Using
       'DataReader 一次只取得一行資料庫的資料,所以必須自行整理取得的資料。

     VbCommand.Cancel()
   End Using

End Using

再來是使用DataSet來取得資料,DataSet適合在取得的大量資料的情形下使用。
Dim MyDataSet As New DataSet
Dim GetData As String=""
Using VbConn As SqlClient.SqlConnection = New SqlClient.SqlConnection(VbConnectionString)

   Using Adp As New System.Data.SqlClient.SqlDataAdapter("SELECT * FROM Test", VbConn)
     Adp.Fill(MyDataSet)
   End Using

End Using

For i = 0 To MyDataSet.Tables(0).Rows.Count - 1 Step 1
   GetData = MyDataSet.Tables(0).Rows(i).Item("欄位名稱")
Next
'實際上就是系統自動使用DataReader把資料放入DataSet裡,取得資料後在使用DataSet來操作資料。

DataSet是由多個DataTable所組成的資料集合,所以也可以直接使用DataTable來取的資料
Dim MyDataTable As New DataTable
Dim GetData As String=""
Using VbConn As SqlClient.SqlConnection = New SqlClient.SqlConnection(VbConnectionString)

   Using Adp As New System.Data.SqlClient.SqlDataAdapter("SELECT * FROM Test", VbConn)
     Adp.Fill(MyDataTable)
   End Using

End Using

For i = 0 To MyDataTable.Rows.Count - 1 Step 1
   GetData = MyDataTable.Rows(i).Item("欄位名稱")
Next

沒有留言:

張貼留言