无法使用Visual Basic 2008运行时在数据网格视图中查看MS Access表的更新数据

时间:2014-01-29 11:12:54

标签: forms visual-studio-2008 datagridview load ms-access-2007

我无法在数据网格视图中查看MS Access表的更新数据。我正在使用Visual Basic 2008运行时。

Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim cn As New OleDb.OleDbConnection
    Dim da As OleDb.OleDbDataAdapter
    Dim dt As New DataTable

    cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\user\Desktop\Project\myproject.accdb"
    cn.Open()

    da = New OleDb.OleDbDataAdapter("SELECT [c_id], c_name, c_address, c_no " & _
                                    "FROM customer ORDER BY [c_id]", cn)
    da.Fill(dt)

    Me.DataGridView1.DataSource = dt

    cn.Close()
End Sub

1 个答案:

答案 0 :(得分:0)

您的DataTable当前正在填写表单的_Load事件,因此只有在首次加载表单时才会发生一次。为了查看对数据的任何更改(例如,通过其他表单直接应用于数据库表),您需要刷新DataTable的内容。

这样做的一种方法是将da.Fill(dt)语句移动到Form5_Activate事件处理程序。这样,当重新激活表单时,DataTable将重新填充。