DataTable到.accdb数据库

我正在使用Excel表格中的数据填充DataSet。 我现在需要将这些数据插入到具有相同结构的Access数据库中的一个表中。

公约将决定我遍历DataTable的行,并为每个INSERT查询,但我想知道是否有一个更有效的方式来完成这个? 也许类似于SQL Server的SqlBulkCopy?

这是我到目前为止的代码:

Dim connection As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath(path) & ";Extended Properties=Excel 12.0;") Dim adapter = New OleDbDataAdapter("SELECT * FROM [Sheet1$] WHERE EmpID IS NOT NULL", connection) Dim results = New System.Data.DataSet connection.Open() adapter.Fill(results) connection.Close() connection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("~/App_Data/Leaves.accdb")) `Now, short of a loop, how can I insert results.Tables(0) into my database? 

谢谢你的帮助。

您可以使用ADO,例如:

 INSERT INTO Table1 ( ADate ) SELECT SomeDate FROM [Excel 8.0;HDR=YES;DATABASE=Z:\Docs\Test.xls].[Sheet1$a1:a4] 

连接到Access数据库的位置。 如果你想使用整张纸,请参考[Sheet1 $]作为你的表,如果你想使用一个命名的范围,只需按名称引用。