if (ds.Tables["myphoto"].Rows.Count != 0)
{
ds.Tables["myphoto"].Rows.Remove(ds.Tables["myphoto"].Rows[i]); } SqlCommandBuilder cb = new SqlCommandBuilder(da); da.InsertCommand = cb.GetInsertCommand();
da.UpdateCommand = cb.GetUpdateCommand();
da.DeleteCommand = cb.GetDeleteCommand(); int a=da.Update(ds, "myphoto");
ds.Tables["myphoto"].AcceptChanges();
在使用remove()方法移除一行之后.再update(),没有错误提示和异常,却不能更新数据库中的数据,
逐语句发现,int a=da.Update(ds, "myphoto")中,a=0,而da(DataAdapter)中的三个Command都有值.. 为什么使用remove之后,不能更新数据呢!? 我的程序在数据集中更改行,添加行,都可以向数据库中返回数据,就这个不行. 我崩溃..
{
ds.Tables["myphoto"].Rows.Remove(ds.Tables["myphoto"].Rows[i]); } SqlCommandBuilder cb = new SqlCommandBuilder(da); da.InsertCommand = cb.GetInsertCommand();
da.UpdateCommand = cb.GetUpdateCommand();
da.DeleteCommand = cb.GetDeleteCommand(); int a=da.Update(ds, "myphoto");
ds.Tables["myphoto"].AcceptChanges();
在使用remove()方法移除一行之后.再update(),没有错误提示和异常,却不能更新数据库中的数据,
逐语句发现,int a=da.Update(ds, "myphoto")中,a=0,而da(DataAdapter)中的三个Command都有值.. 为什么使用remove之后,不能更新数据呢!? 我的程序在数据集中更改行,添加行,都可以向数据库中返回数据,就这个不行. 我崩溃..
解决方案 »
- C# Socket如和想qq一样同时接收多个文件
- 关于Common Control的本地化问题
- 串口通讯类serialport的方法readline()读取到的数据格式是什么?
- c#.NET安装部署Framerwork问题?
- 在线急等,有关字符串处理.........
- 如何判断richtext已输入的文本有几行?不想让richtext无限制的输入.
- 事件是否一定要方法引发?
- 如何对SHA1解密
- 如何将DataSet中的一个DataTable的数据放入一个Excel文件?
- c#中的文本框绑定输入
- 字符串的扩展方法Reverse如何使用,智能感知中找不到它
- 通过反射得到list<T>,把得到的属性等动态绑定到treeview上,请帮忙!
----------
MSDN:
当应用程序调用 Update 方法时,DbDataAdapter 根据 DataSet 中配置的索引顺序为每一行检查 RowState 属性,并迭代执行所需的 INSERT、UPDATE 或 DELETE 语句。
如果用ds.Tables["myphoto"].Rows[i].Delete(); ds.Tables["myphoto"].Rows.Count的值不会变,我希望Count的值跟着变 ..
------------------------
重新获取数据库已更新的数据,
或者 调用 ds.Tables["myphoto"].AcceptChanges();
这个行记录数就会跟着变