Hello everone
我有一个功能
public void RemoveStock(string tickerName) {
int key = this.getKeyFromtickerName(tickerName);
foreach (var item in listingDataTable.Where(
x => x.stock == key).ToList()) {
listingDataTable.RemoveListingRow(item);
}
listingTa.Update(listingDataTable);
}
说明:
listingDataTable = new stockDataSet.ListingDataTable();
listingTa = new stockDataSetTableAdapters.ListingTableAdapter();
数据库类型:SQL Server Compact Edition
该函数从数据集中删除行,但不从数据库中删除。存储了对数据库的所有添加内容,但我无法从数据库中删除。
我是否需要做其他事情才能使数据库接受我的更改?
最诚挚的问候 Gorgen
答案 0 :(得分:1)
请改为尝试:
foreach (var item in listingDataTable.Where(
x => x.stock == key).ToList()) {
item.Delete();
}
我认为这实际上会标记要删除的行。
答案 1 :(得分:0)
原来我需要在数据库适配器中添加DeleteCommand。 DeleteCommand没有自动生成,当使用.RemoveListingRow(item)
时没有发出错误消息,它只是不起作用。
在数据源中选择“使用Designer编辑DataSet”tableAdaper生成命令的属性,例如
删除列表 WHERE(stock = @ p1)