有没有使用 vb.net 更新访问权限 table 的快速方法?

Is there a quick way to update an access table using vb.net?

我正在尝试将数据table 从我设置的 vb.net 表单复制到访问数据库中。我正在使用另一个用户 (Casbar27, Records added to ms access database with vb 2010 not saving) 发布的一段代码(有一些改动)。

    Back_EndDataSet.tblTest.Clear()
    Dim adapter As New Back_EndDataSetTableAdapters.tblTestTableAdapter
    Dim rowCode As DataRow = Back_EndDataSet.tblTest.NewtblTestRefreshxinRow

    For Each row As DataRow In source.Rows
        adapter.Fill(Back_EndDataSet.tblTest)

        rowCode.Item(0) = row.Item(0)
        rowCode.Item(1) = row.Item(1)
        rowCode.Item(2) = row.Item(2)
        rowCode.Item(3) = row.Item(3)
        rowCode.Item(4) = row.Item(4)
        rowCode.Item(5) = row.Item(5)
        rowCode.Item(6) = row.Item(6)
        rowCode.Item(7) = row.Item(7)
        rowCode.Item(8) = row.Item(8)
        rowCode.Item(9) = row.Item(9)
        Back_EndDataSet.tblTest.AddtblTestRow(rowCode)


        adapter.Update(Back_EndDataSet.tblTest)
    Next

虽然这行得通,但速度很慢,如果 运行 多次,它会生成多个相同的记录。我希望它在开始时擦除访问 table 并重写它,最好在一分钟内完成。有什么建议吗?

根据@Gord Thompson 的建议,我写了一个 OleDbCommand 来删除 table,并决定继续使用 OleDbCommand 重写我的填充方法。效果很好,完成速度加快,我不再有重复记录。谢谢戈德!

Private Sub UpdateDataBase(ByVal source As DataTable)
    Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= H:\AppDev\Visual Studio 2010\Projects\RawFixerTest1\Raw Fixer Back End.accdb")
    Dim cmdClr As New OleDbCommand
    Dim cmdFill As New OleDbCommand
    Dim i = 0

    con.Open()
    cmdClr.CommandText = "DELETE * FROM tblTestRefreshxin"
    cmdClr.Connection = con
    cmdClr.ExecuteNonQuery()

    cmdFill.Connection = con
    For Each row As DataRow In source.Rows
        cmdFill.CommandText = "INSERT INTO tblTestRefreshxin (numCode, featDesc, alphaCode, clientCode, DTMexclude, attrCode1, attrCode2, attrCode3, attrCode4, lineToPrev) VALUES(" & "'" & row.Item(0) & "','" & row.Item(1) & "','" & row.Item(2) & "','" & row.Item(3) & "','" & row.Item(4) & "','" & row.Item(5) & "','" & row.Item(6) & "','" & row.Item(7) & "','" & row.Item(8) & "','" & row.Item(9) & "')"
        cmdFill.ExecuteNonQuery()
    Next
    con.Close()
End Sub