如何更新table中某一行或某一列的数据,我想实现的是两张表中某一列内容的比较,如果B.x存在于A.x,则A.y=true

解决方案 »

  1.   

    update A 
    set A.y=true
    where A.x in
    (select B.x from B)
      

  2.   

    Sorry,没有说清楚,是DataTable比较,用dataset也行
      

  3.   

    如DataTable A;
    DataTable B;
    如何更新A,条件:如果B.x存在于A.x
      

  4.   

    某一行某一列是可以用datarow,與datacloumn拿到的。但不知你具體要干什麼。
      

  5.   

    foreach(DataRow dr in DataTableB.Rows)
    {
      string tmp = dr["x"].ToString();
      DataRow[] rows = DataTableB.Select("x='" + tmp + "'");
      if(rows.length>0)
         foreach(DataRow dr2 in rows)
              dr2["y"] = "true";
    }
      

  6.   

    用sql效率高些,否则的话用dataset的update
      

  7.   

    tryforeach(DataRow dr in A.Rows)
    {
       if(B.Select(" x = " + dr[x].ToString() ).Length > 0)
             dr["flag"] = 1;
    }
      

  8.   

    To:Eddie005(暴走005) && brightheroes(闭关|那一剑的风情)
    报dr["flag"]是ReadOnly不能修改
    如:
    11/5/2004 11:38:40 AMSystem.Data.ReadOnlyException: Cannot change ReadOnly property for the expression column.
       at System.Data.DataColumn.set_ReadOnly(Boolean value)
       at NETT.Staging.updateatm.BindAllItem() in d:\file\tonyking\project\nett\source\nett\staging\updateatm.aspx.cs:line 69
      

  9.   

    UPDATE huamingce
    SET zaizhi = 0
    WHERE gonghao IN
       (SELECT gonghao
       FROM lizhi)
      

  10.   

    ReadOnly?
    for(int i = 0; i< A.Rows.Length;i++)
    {
       if(B.Select("x = " + A.Rows[i][x].ToString()).Length > 0)
           A.Rows[i]["flag"] = 1;
    }
      

  11.   

    就是报ReadOnly!并且我去设dt.Columns["Checked"].ReadOnly=false;这句语句也不报该字段ReadOnly