在c#中的DataSets中存在一些問題,它代表了sdf文件中DB的結構和數據。 我正在做一些使用DB的自動測試,所以我應該在表中添加一些行,執行測試並從表中刪除添加的行。c#DataTable,刪除已添加的行
表模式:
Num - ID, autoincrementing, primary key
Name - string
Photo - Image (binary)
我的代碼是:
adapter.Fill(set);
row1 = datatable.Rows.Add(null, "Name1", File.ReadAllBytes(@"Images\photo1.jpg"));
row2 = datatable.Rows.Add(null, "Name2", File.ReadAllBytes(@"Images\photo2.jpg"));
adapter.Update(set);
... perfoming test...
adapter.Fill(set);
row1.Delete();
row2.Delete();
adapter.Update(set);
但添加的行仍然在基地。我試圖使用
datatable.Rows.Remove(row1);
datatable.Rows.Remove(row2);
,但它會導致由於ROW1和ROW2錯誤的「民」的價值觀,這是從DB實際值自動遞增不同的無此行例外。
- 如何在添加一行時獲得Num的真實值?
- 有更聰明的解決方案「添加行」 - >「執行某些操作」 - >「刪除添加行」問題?
在此先感謝。
我不知道,但我認爲datatable.AcceptChanges方法能在這裏工作從數據表中移除刪除的行。寫datatable.AcceptChanges();刪除行後。 – Mogli 2013-03-21 09:50:23
Try datatable.AcceptChanges();將行添加到數據表後 – freshbm 2013-03-22 06:43:51