2017-09-13 46 views
0

我有一个Excel,柱的文件时,列B,C柱等,并且我已经建立一个OleDbConnection填充一个表具有多个OledbConnections C#

Con1 = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Extended Properties=\'Excel 12.0;';"); 

我有第1列的其他Access数据库文件,列B,列2和我已经创建了一个其它的OleDbConnection在C#windowform .mdb文件

Con2 = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Persist Security Info=True;"); 

我已经创建数据表 “DT”,并使用填充OleDbDataAdapter的它(查询,CON)。我的“DT”表有
Column B Column A Column C Column 1 Column 2 Table 1(data) Table 1(data) Table 1(data) Table 2(data) Table 2(data) Con1 Con1 Con1 Con2 Con2

我如何使用OleDbDataAdapter的两个连接,以填补和连接我使用open()和close()。我的两个连接都单独工作。我参考B列在表1

+0

只能从一个连接填写。所以在第一个例子中你需要两个DataTable。如果你想把它们合并成一个DataTable,你需要自己处理。 –

回答

0

您需要手动执行此合并,尝试这样

var collection = from t1 in dt1.AsEnumerable() 
       join t2 in dt2.AsEnumerable() 
        on t1["id"] equals t2["id"] 
       select new { Name = t1["id"], Group = t2["Name"] }; 

DataTable result = new DataTable("NameGroups"); 
result.Columns.Add("ID", typeof(string)); 
result.Columns.Add("Name", typeof(int)); 

foreach (var item in collection) 
{ 
    result.Rows.Add(item.ID, item.Name); 
}