【发布时间】:2009-04-18 19:28:05
【问题描述】:
我试图在网上找到答案,但显然无法完成(我的意思是在应用程序级别,而不是数据库)。我需要完全清除我的数据集并同时重置主键。有什么想法吗?
另外,我可以使用的一种技巧是重新初始化数据集,但这似乎也不可能,因为数据集在应用程序中的不同类之间共享(我在 Program.cs 中创建共享数据集)。
谢谢
法鲁克
更新:
好的,我试过了:
MyDataSet sharedDS = new MyDataSet();
。 . .
CleanDS()
{
MyDataSet referenceDS = new MyDataSet();
sharedDS.Table1.Reset();
sharedDS.Merge(referenceDS);
}
我的原始问题已解决,但现在我得到一个 System.ArgumentException for Column1 does not 属于 Table1,我可以在其中看到 DataSet Viewer 中的列以及填充的行。另请注意,我可以手动重新创建整个数据集,但我仍然得到同样的错误。有什么想法吗?
【问题讨论】:
-
我不明白你在做什么。什么意思是“清除我的数据集”和“重置主键”。您是在谈论 ADO.NET 吗?您需要解决的实际问题是什么?
-
假设我在数据表中有 10 条记录(主键从 1 到 10),我执行 datatable.clear() 将删除所有 10 条记录。但是,当我在其中插入一条新记录时,我希望将主键重置为再次从 1 开始...使用 .Clear() 它将从 11 开始。问题是我如何才能获得与截断表相同的结果(在 sql 中) 或 DBCC CHECKIDENT (table, reseed, 0) 在 C# 代码中用于数据集表。
标签: c# dataset primary-key