我每次执行完如下一个循环后,数据集getproDS的第一条记录getproductID的列值,的显示结果为空
但实际数据库表中的数据不为空
如果不执行以下循环,把表绑定到数据网格中,都很正常
其他表也有如上情况
for(int i=0;i<getproDS.Tables["getproductTB"].Rows.Count;i++)
{
string mydeptID=getproDS.Tables["getproductTB"].Rows[i]["getdeptID"].ToString();
deptTBDS.Clear();
this.sqlDataAdapter3.Fill(deptTBDS);for(int j=0;j<deptTBDS.Tables["deptTB"].Rows.Count;j++)
{
string deptID=deptTBDS.Tables["deptTB"].Rows[j]["deptID"].ToString();
if(mydeptID==deptID)
{
getproDS.Tables["getproductTB"].Rows[i]["deptName"]=deptTBDS.Tables["deptTB"].Rows[j]["deptName"];
}
}
}
请兄弟们指点一下,如何处理

解决方案 »

  1.   

    this.sqlDataAdapter3.Fill(deptTBDS)this.sqlDataAdapter3.Fill(deptTBDS,"deptTB")
      

  2.   

    我就是不想这样子,this.sqlDataAdapter3.Fill(deptTBDS,"deptTB")
    这样子一来我的数据集里面的数据就与没有执行循环前的数据是一样的
      

  3.   

    deptTBDS.Clear();
    this.sqlDataAdapter3.Fill(deptTBDS);
    for(int i=0;i<getproDS.Tables["getproductTB"].Rows.Count;i++)
    {
    string mydeptID=getproDS.Tables["getproductTB"].Rows[i]["getdeptID"].ToString();
    for(int j=0;j<deptTBDS.Tables["deptTB"].Rows.Count;j++)
    {
    string deptID=deptTBDS.Tables["deptTB"].Rows[j]["deptID"].ToString();
    if(mydeptID==deptID)
    {
    getproDS.Tables["getproductTB"].Rows[i]["deptName"]=deptTBDS.Tables["deptTB"].Rows[j]["deptName"];
    }
    }
    }