2012-06-18 41 views
0

当前我有一个名为Diff_ProductName的数据存储字符串列表<>。从MS Access数据库获取数据到C#中的List <>中

List<string[]> Diff_ProductName = ("SELECT GUID,ProductName FROM Table_A bla bla bla.... "); 

所以我需要使用Diff_ProductName中的GUID从另一个表复制另一个数据。

For (int i = 0; i < Diff_ProductName; i++) 
{  
List<string[]> DCB_CopyData = ("SELECT Name, ID FROM Table_B WHERE='"+(((string[])Diff_ProductName[i])[0]+"'"); 
} 

问题是,每个GUID都有几个ID和Name。意思是:

TABLE_B 

    GUID  Name  ID 
    1   A  012 
    1   B  013 
    1   c  014 
    2   AB  015 
    3   D  016 
    3   E  017 
    4   ACE  018 
    4   ADE  019 

所以当我运行程序。 DCB_Copy中的数据存储仅记录最后一个GUID数据。意思是在DCB_CopyData只有:

GUI Name  ID 
    4  ACE  018 
    4  ADE  019 

那么我的代码有什么问题?谢谢。

回答

0

您正在为每个GUID执行一个查询,如果列表很长,这会很痛苦。
你可以简单地执行一个查询这样

SELECT ta.*, tb.* FROM Table_A AS ta 
LEFT JOIN Table_B AS tb ON ta.GUID = tb.GUID 

关于你的代码:如果你向我们展示的伪代码确定,如果不是你的第二个查询似乎真的错了sintactically。

相关问题