如何使 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 服务器?

使公共网站重新连接到本地 html 或 xampp

如何使 Docker 容器与本地主机上的 geth 对话

使用 RIGHT JOINT 将两个表连接到一个 datagridview

winform里DataGridView这个控件直接绑定数据库信息实时交互操作?