使用OleDB将数据表发送到MS Access DB

时间:2017-06-05 18:46:48

标签: c# sql ms-access oledb jet

我有两个数据表,需要将它们存储到本地访问连接中。我计划针对它们运行查询。 (Microsoft.Jet.OLEDB.4.0)。如何将它们存储到本地Access?到目前为止,这是我的思考过程,我只想将它们放入数据集MyDB.Accdb。

 dt[0] is the first data table
dt[1] is the second data table
 // Global Variables 
        // 1) Create OleDB Connection
        OleDbConnection DBConnection = new OleDbConnection();
        // 2) Create a data Adapter(to get values from our Access Table)
        OleDbDataAdapter DataAdapter;
        // 3)a local data table to hold the values of Access Table
        DataTable LocalDataTable = new DataTable();
        // Variables used for navigated through table rows
        int rowPosition = 0;  // Index tracker used for "storing" data to DB at last(new) location
        int rowNumber = 0; // index tracker used for navigation when "reading" data from DB
        //1) set path of DB file
        DBConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=MyDB.accdb";
        // Open Connection
        DBConnection.Open();
         OleDbCommand OledbInsertTable=new OleDbCommand("CREATE TABLE SPL_A (REFDES text, COMP_PART_NO text, COMP_SLH text, COMP_PART_NAME text, COMP_VALUE text, COMP_TOL text, COMP_RATED_POWER text, COMP_MAT text, COMP_PACKAGE text, SYM_MIRROR text, COMP_POPULATE text);",DBConnection);
        OleDbCommand OledbInsertTable1 = new OleDbCommand("CREATE TABLE SPL_B (REFDES text, COMP_PART_NO text, COMP_SLH text, COMP_PART_NAME text, COMP_VALUE text, COMP_TOL text, COMP_RATED_POWER text, COMP_MAT text, COMP_PACKAGE text, SYM_MIRROR text, COMP_POPULATE text);", DBConnection);
        OledbInsertTable.ExecuteNonQuery();
        OledbInsertTable1.ExecuteNonQuery();
         OleDbCommand OledbInsertData=new OleDbCommand("BULK INSERT SPL_A FROM '"+dt[0]+"' WITH (ROWTERMINATOR = '\n' )  " );
        OledbInsertData.ExecuteNonQuery();

是否有一个特殊的功能可以节省发送数据表的时间,因为我已有数据表?谢谢,

0 个答案:

没有答案