Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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# 仅向ms access添加一次Datatable(多行),无需循环C_C#_Database_Ms Access_Datatable_Oledbdataadapter - Fatal编程技术网

C# 仅向ms access添加一次Datatable(多行),无需循环C

C# 仅向ms access添加一次Datatable(多行),无需循环C,c#,database,ms-access,datatable,oledbdataadapter,C#,Database,Ms Access,Datatable,Oledbdataadapter,我有一个数据表,它有多条记录。我想在不使用循环的情况下将此数据表插入ms access表 我想将多行/记录作为一个整体插入ms access数据库。我不想逐个插入记录 将数据从excel工作表加载到datatable。代码如下: using (OleDbConnection connExcel = new OleDbConnection(DatabaseObjects.ConnectionStringExcel)) { string queryExcel

我有一个数据表,它有多条记录。我想在不使用循环的情况下将此数据表插入ms access表

我想将多行/记录作为一个整体插入ms access数据库。我不想逐个插入记录

将数据从excel工作表加载到datatable。代码如下:

using (OleDbConnection connExcel = new OleDbConnection(DatabaseObjects.ConnectionStringExcel))
        {
            string queryExcel = "select * from [" + sheetName + "$]";
            using (OleDbCommand commandExcel = new OleDbCommand(queryExcel, connExcel))
            {
                connExcel.Open();
                OleDbDataAdapter adapter = new OleDbDataAdapter();
                adapter.SelectCommand = commandExcel;
                adapter.Fill(dtSheetData);
            }
        }

这回答了你的问题吗?给定链接适用于SQL-Server。我认为这个概念是相同的,但我读过一些讨论,指出Access不可能。数据源和from表的填充是否来自同一数据库?如果是,则可以使用带有select的追加查询insert查询。如果表源不是来自同一数据库,或者您是从不同的数据源创建表的?然后你必须一行一行地循环。access UI能够同时在两个不同的数据源之间操作sql,但.net不能。但是,您没有提到源表原点吗?如果这是一个ODBC数据库,那么您可以让JET/ACE为您执行此操作,但必须绕过oleDB并直接使用JET/ACE dao对象模型。@June7的概念是相同的,但我们在Access中是如何做到的。?
using (OleDbConnection connExcel = new OleDbConnection(DatabaseObjects.ConnectionStringExcel))
        {
            string queryExcel = "select * from [" + sheetName + "$]";
            using (OleDbCommand commandExcel = new OleDbCommand(queryExcel, connExcel))
            {
                connExcel.Open();
                OleDbDataAdapter adapter = new OleDbDataAdapter();
                adapter.SelectCommand = commandExcel;
                adapter.Fill(dtSheetData);
            }
        }