读书人

怎么在DATASET中查找两个字段分别为某

发布时间: 2012-02-05 12:07:15 作者: rapoo

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

读书人网 >C#

热点推荐