如何将数据表插入 Microsoft Access?

Posted

技术标签:

【中文标题】如何将数据表插入 Microsoft Access?【英文标题】:How do I insert a datatable into Microsoft Access? 【发布时间】:2013-02-25 08:24:53 【问题描述】:

我有一个包含数据信息的数据表,我想通过插入查询将其放入 Microsoft 访问的表中。有人可以帮我做吗?

foreach ( DataRow row in table.Rows)

    insertCommand.CommandText = "INSERT INTO [tableName] VALUES (row[a], row[b], row[c])";
    insertCommand.ExecuteNonQuery();

【问题讨论】:

看MSDN-msdn.microsoft.com/en-us/library/… 对于 row[a]、row[b] 和 row[c],每次循环都会是不同的数据。如何确保将所有不同的数据插入到表中? 它没有用。顺便说一句,我已经找到了解决方案。感谢您提供建议。 @kks,就目前而言,这个问题看起来对任何人都没有帮助;出于这个原因,它可能会被删除。但是,如果您回答自己的问题并展示您的解决方案,那么它可能对其他人有帮助并且可能会被保留。 【参考方案1】:

您可以使用命令生成器。命令生成器将为您确定命令。

您的数据适配器需要所有不同类型的命令,以便在需要时调用。通过向命令生成器提供 SELECT 命令,它将为您确定 UPDATE、DELETE 和 INSERT 命令。

您需要做的就是在您尝试更新数据库时将 DataTable 对象传递给适配器。

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");
    

【讨论】:

以上是关于如何将数据表插入 Microsoft Access?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 JDBC 将值插入 Microsoft Access 数据库?

使用窗体上的按钮将值插入Microsoft Access数据库

Microsoft Access:在插入之前获取当前记录并创建子记录

将 sqlSave 与 Microsoft Access 数据库一起使用

用于处理复制粘贴插入的 Microsoft Access 宏

如何使用 PHP、SQL 和 Microsoft Access 将另一个表中的 select max 函数和用户输入的变量插入表中?