您的位置:程序门 -> .net技术 -> c#



如何在dataset中查找两个字段分别为某一值(含空值)的记录


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何在dataset中查找两个字段分别为某一值(含空值)的记录[已结贴,结贴人:gingerbreadman]
发表于:2007-03-09 09:13:13 楼主
有两个表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 "];          
}

请教高手
发表于:2007-03-09 09:14:071楼 得分:0
最后一句应为:
dr1[ "coc "]   =   dr2[ "co3 "];
发表于:2007-03-09 09:27:302楼 得分:20
在dataset中加入这两个表,再设定两个表的realtion,再用getchildrows()取得关联记录.


快速检索

最新资讯
热门点击