我是初學者,希望知道什么是最有效的記憶體/處理器查詢方式。我是否正確放置使用和結束使用?還需要新的 OleDbCommand 嗎?請評論您的建議和提示以改進我的代碼:)
Dim con As New OleDbConnection
Dim dbProvider As String = "Provider=Microsoft.ACE.OLEDB.12.0;"
Dim dbSource As String = ("Data Source=" & Application.StartupPath & "\DBbms.accdb")
con.ConnectionString = dbProvider & dbSource
Using connection As New OleDbConnection(con.ConnectionString)
Try
Dim query As String = "Select * from Household"
'cmd = New OleDbCommand(query, con)
Dim da As New OleDbDataAdapter(query, con)
connection.Open()
Dim dt As New DataTable
da.Fill(dt)
DataGridView1.DataSource = dt.DefaultView
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Using
uj5u.com熱心網友回復:
將用戶界面代碼與資料庫代碼分開。如果你想在你Catch的 UI 代碼中顯示一個訊息框。
您可能希望將連接字串設為類級別變數,以便其他資料庫代碼可以使用它。
命令也包含在Using塊中。注意Connection行尾的逗號。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim dt As DataTable
Try
dt = GetHouseholdData()
Catch ex As Exception
MsgBox(ex.Message)
Exit Sub
End Try
DataGridView1.DataSource = dt.DefaultView
End Sub
Private HHConStr As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={Application.StartupPath}\DBbms.accdb"
Private Function GetHouseholdData() As DataTable
Dim dt As New DataTable
Using con As New OleDbConnection(HHConStr),
cmd As New OleDbCommand("Select * from Household", con)
con.Open()
Using reader = cmd.ExecuteReader
dt.Load(reader)
End Using
End Using
Return dt
End Function
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/359374.html
上一篇:如何從訪問表中洗掉所有NA值?
