2011-05-09 61 views
0

我有一個名爲Vendors的表。我還創建了一個名爲Vendor的類,以便我可以用Vendor對象填充ListView。假設該表包含兩列(名稱和電話),因此我的類Vendor包含這兩個字符串屬性。如果我有一個供應商對象的ArrayList,並且我希望刪除數據庫中的供應商,我怎麼能在不構建查詢的情況下執行此操作?Arraylist對象數據庫記錄清理

我正在建立一個類,根據我傳遞給該類的構造函數的任何查詢動態地填充listview。這個類然後創建一個SqlDataReader對象來遍歷記錄。取決於有多少列,它們會動態地添加到列表視圖中。唯一的問題是,例如,當我想刪除選定的行時(如果參考上面的示例,選定的行將成爲供應商對象的集合),有時我會在構建查詢時遇到錯誤。有時一些列是空的,我不知道哪一列是主鍵。此外,類廠商會根據查詢結果動態構建。所以一切都很好。我知道我可以創建一個linqToSqlClass或將其綁定到數據集。如果我不需要修改這個課程,那將會很好。也許當我循環記錄時,有一些方法可以找到該行的主鍵。

回答

0

如果您使用的是SQL 2008,則可以創建一個接受Table-Valued parameter的過程。

另一種選擇是你的ArrayList轉換成XML字符串,並將其傳遞到存儲過程與SQL 2000和工作中加強

+0

謝謝,這些都是很好的解決方案。我忘了提及我正在建立一個需要大量工作的類庫。這就是爲什麼我不通過在VisualStudio中拖動所需表而創建存儲過程和LinqToSql類的原因。我希望能夠使用這個類而不必創建所有這些東西。我將正在構建這個查詢,這是我的類缺少的唯一的東西。 – 2011-05-09 18:26:30

0

我傳遞的主鍵表名是類的構造函數和我做了場一個必需的參數。這樣我可以更容易地構建查詢。我知道我一開始就可以做到這一點,我只是想避免爲了避免這種情況而必須向課堂傳遞額外的參數。 Visual Studio中的LinqToSQLdata類使您能夠做到這一點。