永发信息网

ado.net使用dataadapter.update更新时必须设置主键?

答案:1  悬赏:70  手机版
解决时间 2021-05-17 20:47
  • 提问者网友:原来太熟悉了会陌生
  • 2021-05-17 16:48

最近我在用

SqlDataAdapter Adapter = new SqlDataAdapter("select * from TSXX ",Sqlcon);
SqlCommandBuilder Comman = new SqlCommandBuilder(Adapter);
DataSet DS=new DataSet ();
Adapter.Fill(DS, "TSXX");

DS.Tables["TSXX"].Rows[i]["ZZ"] = “书名”

Adapter.Update(DS, "TSXX");

执行时调试错误为:对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成”

然后我在数据库中讲TSH设置城主键后就可以了. 请问这是为什么了?

最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-05-17 17:23

Update()实际上是通过CommandBuilder动态生成sql语句,然后才进行的数据库操作。但如果你在一开始创建DataAdapter时的那个sql语句没有包含有主键的列的话,那CommandBuilder将不会发生作用



使用SqlCommandBuilder ,表主键设定必须

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯