有两个表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"];
}请教高手
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"];
}请教高手
dr1["coc"] = dr2["co3"];