Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将数据表插入Microsoft Access?_C#_C# 4.0_Ms Access - Fatal编程技术网

C# 如何将数据表插入Microsoft Access?

C# 如何将数据表插入Microsoft Access?,c#,c#-4.0,ms-access,C#,C# 4.0,Ms Access,我有一个包含数据信息的datatable,我想将它放在microsoft access中的一个表中,并使用insert查询。有人能帮我吗 foreach ( DataRow row in table.Rows) { insertCommand.CommandText = "INSERT INTO [tableName] VALUES (row[a], row[b], row[c])"; insertCommand.ExecuteNonQuery(); } 您可以使用命令生成器。

我有一个包含数据信息的datatable,我想将它放在microsoft access中的一个表中,并使用insert查询。有人能帮我吗

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

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

数据适配器需要所有不同类型的命令,以便在需要时调用。通过向命令生成器提供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");
    }
}

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

数据适配器需要所有不同类型的命令,以便在需要时调用。通过向命令生成器提供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");
    }
}

查看MSDN—对于行[a]、行[b]和行[c],每次循环时都会有不同的数据。如何确保将所有不同的数据插入表中?它不起作用。顺便说一下,我已经找到了解决办法。感谢您提供建议。@kks,就目前情况而言,这个问题似乎对任何人都没有帮助;因此,可能会将其删除。但是,如果您回答了自己的问题,并展示了您的解决方案,那么它可能会对其他人有所帮助,并且可能会被保留。请查看MSDN-对于[a]、[b]行和[c]行,每次循环时都会有不同的数据。如何确保将所有不同的数据插入表中?它不起作用。顺便说一下,我已经找到了解决办法。感谢您提供建议。@kks,就目前情况而言,这个问题似乎对任何人都没有帮助;因此,可能会将其删除。然而,如果你回答了自己的问题,展示了你的解决方案,那么它可能会对其他人有所帮助,并且可能会被保留。