如何使 datagridview 实时连接到本地存储在 VB.NET 中的访问数据库?
Posted
技术标签:
【中文标题】如何使 datagridview 实时连接到本地存储在 VB.NET 中的访问数据库?【英文标题】:How can I make a datagridview live connected to an access database stored locally in VB.NET? 【发布时间】:2022-01-18 11:58:09 【问题描述】:我希望这样当我从 datagridview 删除/编辑记录时,它会自动删除/编辑访问数据库文件。这是我的代码的 sn-p,它将数据库加载到 datagridview 中。
Public Function dbConnect() As Boolean
Try
cn = New OleDbConnection(DataBasePath)
cn.Open()
'MessageBox.Show("is work ")
Return True
Catch ex As Exception
MessageBox.Show("Unable to open the database: " & ex.Message)
Return False
End Try
End Function
Private Function GetOrders() As DataTable
Dim dtOrders As New DataTable
dbConnect()
Dim SQLCMD As New OleDbCommand
SQLCMD.Connection = cn
SQLCMD.CommandText = "Select * From [OrdersTbl]"
dtOrders.Load(SQLCMD.ExecuteReader())
Return dtOrders
End Function
Private Sub EditOrdersForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
OrdersDataGrid.DataSource = GetOrders()
End Sub
如何才能将更改保存到本地文件。
【问题讨论】:
研究使用 DataAdapters 并使用 BindingSource 作为 Datagrid DataSource。使用 DataAdapter FILL 命令获取您的订单数据表。将其设置为 BindingSource 数据源。当您要保存时,对您的订单数据表使用 DataAdapter Update 命令,这将使用您在 DataGrid 中所做的更改来更新您的数据库 检查我的回答是否能帮助您处理这个问题,如果有帮助,请考虑accepting it。如果没有,请在此处提供更多详细信息。 【参考方案1】:我在表单上有一个 datagridview 和一个按钮。以下是您可以参考的代码:
Private dt As DataTable = New DataTable
Private da As OleDbDataAdapter
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim connection As OleDbConnection = New OleDbConnection("your connection string")
connection.Open()
Dim cmdTxt As String = "SELECT * FROM yourTable"
da = New OleDbDataAdapter(New OleDbCommand(cmdTxt, connection))
Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(da)
da.Fill(dt)
Dim source As BindingSource = New BindingSource With
.DataSource = dt
DataGridView1.DataSource = source
connection.Close()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
DataGridView1.EndEdit()
da.Update(dt)
End Sub
每次您想从 datagridview 更新数据库时,只需单击按钮。
【讨论】:
以上是关于如何使 datagridview 实时连接到本地存储在 VB.NET 中的访问数据库?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将本地 Functions 模拟器连接到非本地 Firebase 实时数据库?
如何通过 Swift 连接到本地 Firebase 服务器?