如何将数据表插入Microsoft Access?

时间:2013-02-25 08:24:53

标签: c# c#-4.0 ms-access

我有一个包含数据信息的数据表,我想将它放在带有插入查询的microsoft访问表中。有人可以帮我这么做吗?

foreach ( DataRow row in table.Rows)
{
    insertCommand.CommandText = "INSERT INTO [tableName] VALUES (row[a], row[b], row[c])";
    insertCommand.ExecuteNonQuery();
}

1 个答案:

答案 0 :(得分:1)

您可以使用命令构建器。命令构建器将为您确定命令。

您的数据适配器需要所有可用的不同类型的命令,以便在需要时进行调用。通过为命令构建器提供SELECT命令,它将确定UPDATE,DELETE& INSERT命令。

您需要做的只是在尝试更新数据库时将DataTable对象传递给Adapter。

using (OleDbConnection con = new OleDbConnection("YourConnectionString"))
{
    var adapter = new OleDbDataAdapter();
    adapter.SelectCommand = new OleDbCommand("SELECT * FROM [YourAccessTable]", con);

    var cbr = new OleDbCommandBuilder(adapter);

    cbr.GetDeleteCommand();
    cbr.GetInsertCommand();
    cbr.GetUpdateCommand();

    try
    {
        con.Open();
        adapter.Update(YourDataTable);
    }
    catch (OleDbException ex)
    {
        MessageBox.Show(ex.Message, "OledbException Error");
    }
    catch (Exception x)
    {
        MessageBox.Show(x.Message, "Exception Error");
    }
}