2017/10/09
[ADO.NET] VB.net 資料庫連線 IV
接續前一篇 [ADO.NET] VB.net 資料庫連線 III
使用參數化查詢並沒有特別困難,但是要特別注意!!
補充:
標籤:
參數,
連接資料庫,
隱碼,
ADO.net,
Command,
Connection,
DataAdapter,
DataTable Using,
SQL injection,
VB,
VB.net
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
標籤:
連接資料庫,
ADO.net,
Command,
Connection,
DataAdapter,
DataSet,
DataTable Using,
VB,
VB.net
2017/09/29
[ADO.NET] VB.net 資料庫連線 II
上一篇 VB.NET 資料庫連線 I 是最基本的連線方法。
事實上還可以使用 using.. End Using的方式讓.net自行管理資料庫的連線資源的釋放。
Dim VbConnectionString As String = "資料庫連線字串設定方式請參考 "VB.NET 資料庫連線語法 I
Using VbConn As SqlClient.SqlConnection = New SqlClient.SqlConnection(VbConnectionString)
VbConn.Open()
Using VbCommand As SqlClient.SqlCommand = VbConn.CreateCommand
VbCommand.CommandText="SELECT * FROM Test"
Dim ExecuteReturn As Integer = VbCommand.ExecuteNonQuery
VbCommand.Cancel()
End Using
End Using
2017/09/28
[ADO.NET] VB.NET 資料庫連線 I
開發系統一定避不開資料庫的連線與操作,留下紀錄方便以後查詢。
Dim VbConn As New System.Data.SqlClient.SqlConnection
Dim VbConnectionString As String = "Data Source=資料庫主機;Network Library=DBMSSOCN;Initial Catalog=資料庫;User ID=資料庫帳號;Password=資料庫帳號登入密碼;"
If VbConn.State = ConnectionState.Closed Then
VbConn.ConnectionString = VbConnectionString
VbConn.Open()
Dim VbCommand As System.Data.SqlClient.SqlCommand = VbConn.CreateCommand
VbCommand.CommandText="SELECT * FROM Test"
Dim ExecuteReturn As Integer = VbCommand.ExecuteNonQuery
VbCommand.Cancel()
VbConn.Close()
End If
說明:
1.上述的語法,紅色的字需要填入自己的資料庫主機資料。
2.如果VbConn是全域變數,可以在執行連線前嘗試檢查是否已在離線狀態,避免重複連線。
訂閱:
文章 (Atom)