ADO.NET 2.0 的 DataTable可以直接從DataRead讀取
ADO.NET 1.1以前,要從資料庫中把要的資料讀取到DataTable需要經過以下的過程
- 建立Connection
- 建立Command
- 使用DataAdapter
- 將資料Fill到DataSet
- 從DataSet中讀取第0個DataTable
大致上的程式如下
Using Conn As New SqlConnection(ConnStr)
Dim Cmmd As New SqlCommand("SELECT * FROM Customer", Conn)
Dim Da As New SqlDataAdapter(Cmmd)
Dim Ds As New DataSet
Da.Fill(Ds)
Dim Dt As New DataTable
Dt = Ds.Tables(0)
End Using
然而我們經常需要的就只是一個DataTable而已,卻需要透過DataAdapter的Fill到DataSet中,然後再從DataSet中取出,這樣的過程感覺上繞了一大圈
所以2.0的時候,就讓DataTable可以單獨的去Load一個DataReader,就能夠將相關的資料讀入一個DataTable中,相關的程式碼如下:
Using Conn As New SqlConnection(ConnStr)
Dim Cmmd As New SqlCommand("SELECT * FROM Customer", Conn)
'Dim Da As New SqlDataAdapter(Cmmd)
'Dim Ds As New DataSet
'Da.Fill(Ds)
Dim Dt As New DataTable
Conn.Open() '這邊要特別注意,使用DataRead前,要先Conn.Open
Dt.Load(Cmmd.ExecuteReader)
Conn.Close() 'Conn用完記得關閉
End Using
有個地方要特別提醒,使用DataAdapter時候,Conn會自動的開啟、自動關閉;但是使用DataReader的話,使用前要記得先Open,使用後也要記得Close
以下是簽名:
- 歡迎轉貼本站的文章,不過請在貼文主旨上加上【轉貼】,並在文章中附上本篇的超連結與站名【topcat姍舞之間的極度凝聚】,感恩大家的配合。
- 小喵大部分的文章會以小喵熟悉的語言VB.NET撰寫,如果您需要C#的Code,也許您可以試著用線上的工具進行轉換,這裡提供幾個參考
Microsoft MVP Visual Studio and Development Technologies (2005~2019/6) | topcat Blog:http://www.dotblogs.com.tw/topcat |