为什么这段代码不起作用?
(this.namesBindingSource.Current as DataRowView).Delete();
this.namesTableAdapter.Update(database1DataSet1);
错误:在传递带有已删除行的DataRow集合时,更新需要有效的DeleteCommand .
数据库是添加到项目的基于服务的数据库,只有一个表显示在dataGridView中,此代码链接到按钮 . 你将点击行删除然后按下按钮并得到错误....
怎么了?我疯了......
2 回答
错误消息是不言自明的 .
namesTableAdapter
需要有效的DeleteCommand
. 否则,它不知道您删除"deleted"行 .Update
或Insert-Commands
也是如此 .Delete()
只需更改RowState . 如果您使用DataAdapter
(或TableAdapter
),则需要知道如果状态为Deleted
或Modified
该怎么办 .How to: Create TableAdapter Queries
使用
CommandBuilder
但请记住,您需要使用带有键列的表 .