如何在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()取得关联记录.