在数据库中插入数据集记录

web*_*nia 6 c# ms-access dataset

我需要将数据集记录(C#)插入MS Accessdatabase表.我需要批量插入记录.

我怎么能在C#中做到这一点

Jør*_*ode 5

对于此类任务,请考虑使用数据适配器抽象.使用Microsoft Access数据库,您可以使用OleDbDataAdapter以下示例中所示的实现:

// Prerequisite: The data to be inserted is available in a DataTable/DataSet.
var data = new DataTable();
data.Columns.Add("CompanyName", typeof(string));
data.Columns.Add("Phone", typeof(string));
data.Rows.Add("Foo", "12345678");
data.Rows.Add("Bar", "87654321");

// Now, open a database connection using the Microsoft.Jet.OLEDB provider.
// The "using" statement ensures that the connection is closed no matter what.
using (var connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=Northwind.mdb"))
{
    connection.Open();

    // Create an OleDbDataAdapter and provide it with an INSERT command.
    var adapter = new OleDbDataAdapter();
    adapter.InsertCommand = new OleDbCommand("INSERT INTO Shippers (CompanyName, Phone) VALUES (@CompanyName , @Phone)", connection);
    adapter.InsertCommand.Parameters.Add("CompanyName", OleDbType.VarChar, 40, "CompanyName");
    adapter.InsertCommand.Parameters.Add("Phone", OleDbType.VarChar, 24, "Phone");

    // Hit the big red button!
    adapter.Update(data);
}
Run Code Online (Sandbox Code Playgroud)

您可以也通过更换做对其他品牌的数据库引擎相同OleDbCommand,OleDbDataAdapterOleDbConnection与您的数据库引擎的相应实现.对于Microsoft SQL Server,请查找以前缀为例的类Sql,例如.SqlCommand.