我在使用c#中的DataSets时遇到了一些问题,它代表了sdf文件中数据库的结构和数据。
我正在进行一些自动化测试,因此我需要向表中添加一些行,执行测试并从表中删除添加的行。
表结构如下:
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);
由于行1和行2中的“Num”值与数据库中实际自增值不同,因此会导致“无此行异常”。
- 我如何在添加行时获取正确的“Num”值?
- 是否有更智能的解决方案来避免“添加行” -> “执行某些操作” -> “删除添加的行”问题?
提前感谢您的帮助。