从数据库中删除行c#

时间:2013-01-10 10:17:39

标签: c# database

为什么这段代码不起作用?

        (this.namesBindingSource.Current as DataRowView).Delete();         
        this.namesTableAdapter.Update(database1DataSet1);

错误: 在传递带有已删除行的DataRow集合时,更新需要有效的DeleteCommand。

数据库是添加到项目的基于服务的数据库,只有一个表在dataGridView中显示,并且此代码链接到button。您将单击要删除的行,然后单击按钮并获取错误....

有什么问题?我疯了......

2 个答案:

答案 0 :(得分:2)

错误消息是不言自明的。 DeleteCommand需要有效namesTableAdapter。否则,它不知道您删除“已删除”行。 UpdateInsert-Commands也是如此。

Delete()只需更改RowState。如果您使用DataAdapter(或TableAdapter),则需要知道如果状态为DeletedModified该怎么做。

How to: Create TableAdapter Queries

答案 1 :(得分:0)

使用CommandBuilder但请记住,您需要使用包含密钥列的表。