2011-10-20 32 views
0

你好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精簡版

該功能從數據集中刪除行,但不是t來自數據庫。所有添加到數據庫的內容都已存儲,但我無法從數據庫中刪除。

我需要做其他事情才能讓數據庫接受我的更改嗎?

問候
Gorgen

+0

什麼是ListingTableAdapter? – Boomer

+0

它是我創建數據集時由數據集工具編寫的一種TableAdapter。 – Gorgen

回答

0

原來,我需要在我的數據庫適配器中添加一個DeleteCommand。 DeleteCommand不是自動生成的,當使用.RemoveListingRow(item)時,沒有發出錯誤消息,它只是不起作用。

數據源中選擇 「編輯數據集與設計」 tableAdaper的屬性生成命令,如

DELETE FROM清單 WHERE(股票= @ P1)

1

試試這個:

foreach (var item in listingDataTable.Where(
    x => x.stock == key).ToList()) { 
     item.Delete(); 
} 

我認爲這實際上將標記爲刪除的行。

+0

與此代碼我得到「更新需要一個有效的DeleteCommand與刪除的行傳遞DataRow集合時」。 – Gorgen

+0

當我添加我的DeleteCommand時,它崩潰很難,抱怨併發問題。但至少你的回答給了我一些錯誤的線索,我認爲這是主要的。 :-) – Gorgen