You can directly insert a DataTable
if it is created correctly.
First make sure that the access table columns have the same column names and similar types. Then you can use this function which I believe is very fast and elegant.
public void AccessBulkCopy(DataTable table){ foreach (DataRow r in table.Rows) r.SetAdded(); var myAdapter = new OleDbDataAdapter("SELECT * FROM "+ table.TableName, _myAccessConn); var cbr = new OleDbCommandBuilder(myAdapter); cbr.QuotePrefix = "["; cbr.QuoteSuffix = "]"; cbr.GetInsertCommand(true); myAdapter.Update(table);}