使用Adapter.Update(DataSet)的问题,大大帮我看看代码,100分相送!!! ds.AcceptChanges();调用之后,Table里面的Row的RowState全部重置,根本不会去改写数据库了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 另外,这个xml能不能传递Row的RowState,没有研究过 就是说在updateds之前不能AcceptChanges()? 使用SqlDataAdapter的Update方法来更新数据的时候必须要给DataAdapter指定一个commandbuilder在你程序的这一行:SqlDataAdapter ada=new SqlDataAdapter(sql,conn);之后加上SqlCommandBuilder cmdbuilder = new SqlCommandBuilder(ada);就可以了。使用SqlDataAdapter的Update方法还有个前提条件:select 语句出的结果集必须要有主键 还应该修改这两行:ds.AcceptChanges();ada.Update(ds,table);改为DataTable dt_new = ds.tables[0].GetChanges();ada.Update(dt_new); Violation of PRIMARY KEY constraint 'PK_QYQK_1'. Cannot insert duplicate key in object 'QYQK'. 报这个错误,可是这个表是主键的呀! TianTeRrAnShang() 说的对,因为你没有生成update语句,你在设计时生成一个数据集你就会明白ado.net的insert,update,delete,select是如何执行的了。会生成四个sqlcommmand 里面保存想应的sql语句 是不是因为我是先删除的ROW再添加的,所有不是更新这条记录,而是去插入?有没有办法解决我的这个问题呀? Cannot insert duplicate key in object 'QYQK'. 中文意思是:不能在'QYQK'这个字段上插入重复的值QYQK是主键,当然不能插入重复的值 for(){table.Rows[i].Delete();}插入之前先把原来的DataSet中的table的每一行清除,试试看吧 求问各位大哥,google主页是什么编码 C#如何根据参数的不同,引用不同的类 treeview控件应用问题? 非常奇怪的问题,双击打开软件是好的,添加到注册表自动启动就出错 怎样实现应用程序的重启动? petshop是个什么东西??? GGJJ帮我写一个登录窗口的一些源代码吧 C# winform 如何根据url 来保存网页到本机的硬盘 一个老生常谈的问题,如何防止C#绘图时的闪烁 C# 怎么把数据库转换成固定格式的XML文件。。。 高分请教UpdateCommand等命令的写法和用法 求正则表达式写法
必须要给DataAdapter指定一个commandbuilder
在你程序的这一行:
SqlDataAdapter ada=new SqlDataAdapter(sql,conn);
之后加上
SqlCommandBuilder cmdbuilder = new SqlCommandBuilder(ada);
就可以了。
使用SqlDataAdapter的Update方法还有个前提条件:
select 语句出的结果集必须要有主键
ds.AcceptChanges();
ada.Update(ds,table);
改为
DataTable dt_new = ds.tables[0].GetChanges();
ada.Update(dt_new);
报这个错误,可是这个表是主键的呀!
中文意思是:
不能在'QYQK'这个字段上插入重复的值
QYQK是主键,当然不能插入重复的值
{
table.Rows[i].Delete();
}
插入之前先把原来的DataSet中的table的每一行清除,试试看吧