重置主键
我试图在网上找到答案,但显然无法完成(我的意思是在应用程序级别,而不是数据库)。 我需要完全清除我的数据集并同时重置主键。 有任何想法吗?
或者,我可以使用的一个hack是重新初始化数据集,但这似乎不可能,因为数据集在应用程序中的不同类之间共享(我在Program.cs中创建共享数据集)。
谢谢
法鲁克
更新:
好吧,我试过这个:
MyDataSet sharedDS = new MyDataSet();
。 。 。
CleanDS()
{
MyDataSet referenceDS = new MyDataSet(); sharedDS.Table1.Reset(); sharedDS.Merge(referenceDS);
}
我的原始问题已解决,但现在我得到一个System1的System.ArgumentException不属于Table1,我可以在其中看到DataSet Viewer中的列以及查看填充的行。 另请注意,我可以手动重新创建整个DataSet,但仍然会出现相同的错误。 有任何想法吗?
我用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
感谢你的帮助!
DataSet.Clear()方法是否符合您的要求?
编辑
因为您说要重置主键,所以您必须讨论DataSet所持有的DataTable。 您是否尝试过调用DataSet.Tables [“MyTable”]。Reset(),它应该将表重置为原始状态,而不是整个DataSet?
编辑2
如果这是一个自动增量列,您是否尝试将DataColumn的AutoIncrementSeed属性重置为0?
上述就是C#学习教程:重置主键分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1002942.html