【发布时间】:2015-03-13 14:19:45
【问题描述】:
我正在尝试将我设置的 vb.net 表单中的数据表复制到 access 数据库中。我正在使用另一个用户(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
虽然这有效,但速度很慢,如果运行多次,则会产生多个相同记录。我希望它在启动时擦除访问表并重写它,最好在一分钟内完成。有什么建议吗?
【问题讨论】:
-
尝试在进入循环之前执行
.Fill,在退出循环之后尝试执行.Update。至于清空表格,在开始使用 TableAdapter 之前,您始终可以使用 OleDbCommand 对象运行DELETE FROM TableName语句。