使用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的每一行清除,试试看吧 怎么显示实时系统时间 Datatable.select排序和SQL中orderby排序结果不同的问题 WCF后台怎么控制客户端访问用户数? 关于VC编写的DLL在VC中可以调用,在C#中调用提示无法找到函数入口点的问题,急!! 求一个串口接收数据并且处理数据的例子(最好带协议) 如何把树形结构的财务科目表用GridView显示出来? 一个简单的数据类型转化问题 在线等 如何用正则过滤指定的html的代码? <<.NET数据服务C#高级编程>>这本书上的例子源码哪里可以下载?? 学c#有什么经典的书吗 高分请教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的每一行清除,试试看吧