SqlDataAdapter dtaFile2 = new SqlDataAdapter("SELECT * FROM temp1 ",conFile);
SqlCommandBuilder builder = new SqlCommandBuilder(dtaFile2);   
dtaFile2.Fill(ds, "Child");ds.Tables[0].Rows[0][0] = 1;
ds.Tables[0].Rows[0][1] = 2;dtaFile2.Update(ds, "Child");用以上语句更新数据库,显示错误:"对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。"看到网上的答复:“
1 楼saucer(思归)回复于 2005-06-22 01:39:13 得分 20
给你的表添加一个主键,放在SELECT里,或者don't   use   CommandBuilder,   自己写Insert/Update/DeleteCommand
”请问,自己写UpdateCommand怎么写?

解决方案 »

  1.   

    自己写UpdateCommand就是写Update语句了,如果你的数据库的表有主键的话,就用SqlCommandBuilder即可,可以不写UpdateCommand
      

  2.   

    回楼上:
       我要对数据库的更新无法使用UPDATE语句,只能要用以下格式(用C#语句进行类似游标的操作,逐条修改记录):
       ds.Tables[0].Rows[0][0] = 1;
       ds.Tables[0].Rows[0][1] = 2;
    并且原表也无法添加主键。
    这种情况下,如何解决?