从MS Access数据库获取数据到列表<>在C#中

时间:2012-06-18 06:49:33

标签: c# database ms-access

现在我有一个List<>数据存储字符串名为Diff_ProductName。

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和名称。意思是:

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_CopyDate中的数据仅存储最后的GUID数据。 DCB_CopyData的平均值只有:

   GUI   Name      ID
    4     ACE     018
    4     ADE     019

那么我的代码出现了什么问题?谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

关于你的代码:如果你向我们展示伪代码好的话,如果不是你的第二个查询看起来真的是错误的。