首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么在DATASET中查找两个字段分别为某一值(含空值)的记录

2012-02-05 
如何在DATASET中查找两个字段分别为某一值(含空值)的记录有两个表tab1,tab2tab1中有三个字段(co1,co2,co3)

如何在DATASET中查找两个字段分别为某一值(含空值)的记录
有两个表tab1,tab2
tab1中有三个字段(co1,co2,co3),其中(co1,co2)唯一确定tab2中记录(co2可能为空).(相当于主键)
tab2中有三个字段(coa,cob,coc)来源于tab1表中(co1,co2).(相当于外键)

现要根据tab2于tab1的对应关系,将tab1表中co3值填入tab2表中coc字段.
请问如何实现?
(不要对tab2中每条记录用foreach遍历tab1,记录多,效率太低)

我用如下代码,结果提示co2有空值,不能通过.

  keys   =   new   DataColumn[2];

keys[0]   =   dataSet.Tables[ "tab1 "].Columns[ "co1 "];
               
keys[1]   =   dataSet.Tables[ "tab1 "].Columns[ "co2 "];
                               
dataSet.Tables[ "tab1 "].PrimaryKey   =   keys;
         
foreach   (DataRow   dr1   in   dataSet.Tables[ "tab2 "].Rows)                        
{                                    
    string[]   saTemp   =new   string[2];
                                     
    saTemp[0]   =   dr1[ "coa "].ToString();
                                     
    saTemp[1]   =   dr1[ "cob "].ToString();
                         
    DataRow   dr2   =   dataSet.Tables[ "tab1 "].Rows.Find(saTemp);
                           
    if   (dr2   !=   null)
                                             
    dr1[ "coc "]   =   dr2[ "coc "];          
}

请教高手

[解决办法]
在DATASET中加入这两个表,再设定两个表的realtion,再用getchildrows()取得关联记录.

热点排行