c# - 重置主键

标签 c# dataset primary-key

我试图找到在线执行此操作的答案,但显然无法完成(我的意思是在应用程序级别,而不是数据库级别)。我需要完全清除我的数据集并同时重置主键。有什么想法吗?

或者,我可以使用的一种技巧是重新初始化数据集,但这似乎也不可能,因为数据集在应用程序中的不同类之间共享(我正在 Program.cs 中创建共享数据集)。

谢谢

法鲁克

更新:

好的,我尝试了这个:

MyDataSet SharedDS = new MyDataSet();

。 。 。

CleanDS()

{

    MyDataSet referenceDS = new MyDataSet(); 
    sharedDS.Table1.Reset(); 
    sharedDS.Merge(referenceDS); 

}

我原来的问题已经解决,但现在我得到一个 System.ArgumentException,因为 Column1 不属于 Table1,我可以在数据集查看器中看到列以及填充的行。另请注意,我可以手动重新创建整个数据集,但仍然遇到相同的错误。有什么想法吗?

最佳答案

我尝试使用 autoincrementseed 和 autoincrementstep ,它终于起作用了。以下供其他人引用:

sharedDS.Clear();
sharedDS.Table1.Columns[0].AutoIncrementStep = -1;
sharedDS.Table1.Columns[0].AutoIncrementSeed = -1;
sharedDS.Table1.Columns[0].AutoIncrementStep = 1;
sharedDS.Table1.Columns[0].AutoIncrementSeed = 1;

请参阅此线程中的推理: http://www.eggheadcafe.com/community/aspnet/10/25407/autoincrementseed.aspx

以及: http://msdn.microsoft.com/en-us/library/system.data.datacolumn.autoincrementseed(VS.85).aspx

感谢大家的帮助!

关于c# - 重置主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/764004/

相关文章:

java - 将庞大数据集添加到 Oracle 数据库中

c# (WinForms-App) 将数据集导出到 Excel

java - GAE 数据存储 JPA 上的 GraniteDS - 关键类问题

c# - 推荐一个服务器端媒体编码器或 SDK

c# - 在 Dapper 中设置表

c# - MVC 4 "The using block is missing a } character"

c# - 模拟、Active Directory 和 "user does not have authority to xxxx"问题

mysql - 过滤要在 DataGridView vb.net 中显示的内容

sql - 负主键

database - Oracle 数据库 : Index-Organized Table with NULL Values (in Multiple-Column Primary Key)