为什么执行Update时,出现错误"当传递具有已删除行的DataRow集合时,更新要求有效的DeleteCommand..."

tsys2000 2004-12-28 01:59:57
为什么执行Update时,出现错误"当传递具有已删除行的DataRow集合时,更新要求有效的DeleteCommand..."

this.dataTable1.Rows[0].Delete();
this.oleDbDataAdapter1.Update(dataTable1);
...全文
556 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsys2000 2004-12-28
  • 打赏
  • 举报
回复
不好意思,我就想删除选定的行,给个例子或帮写两句,谢谢

健者天行 2004-12-28
  • 打赏
  • 举报
回复
老大,你的myDA 没有写DeleteCommand呀,也没有用CommandBuilder

tsys2000 2004-12-28
  • 打赏
  • 举报
回复
....
你那个当然不会出错了,没有修改数据库db1.mdb
t0h 2004-12-28
  • 打赏
  • 举报
回复
this.dataTable1.Rows[0].Delete();

this.dataTable1.acceptchange();

this.oleDbDataAdapter1.Update(dataTable1);
tsys2000 2004-12-28
  • 打赏
  • 举报
回复
还差什么?
tsys2000 2004-12-28
  • 打赏
  • 举报
回复
private void Form1_Load(object sender, System.EventArgs e)
{
OleDbConnection myCON = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; "+"Data Source=" + "C:\\db1.mdb");
myDA = new OleDbDataAdapter("SELECT name FROM T1", myCON);
myT = new DataTable();
myDA.Fill(myT);
this.dataGrid1.DataSource = myT;

}

private void button1_Click(object sender, System.EventArgs e)
{
int indexDel = this.dataGrid1.CurrentRowIndex;
if(indexDel>=0)
{
this.myT.Rows[indexDel].Delete();
this.myDA.Update(myT);
this.myT.AcceptChanges();
}
}
adailee 2004-12-28
  • 打赏
  • 举报
回复
更新前,检查一下oleDbDataAdapter1的DeleteCommand的内容是否正确。

是否正确使用了CommandBuilder?正确设置了SelectCommand?

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧