重新排序数据表中的AutoIncrement列

时间:2011-02-28 18:01:20

标签: c# winforms visual-studio

我有一个数据表Dtable,在我的winforms中有3列。 其中1列是标识列。 列是

DataTable Dtable = new DataTable();
DataColumn Dcolumn1 = new DataColumn("Slno", typeof(int));
Dcolumn1.AutoIncrement = true;
Dcolumn1.AutoIncrementSeed = 1;
Dcolumn1.AutoIncrementStep = 1;
Dtable.Columns.Add(Dcolumn1);
Dtable.Columns.Add("Employeename", typeof(string));
Dtable.Columns.Add("NoofDays", typeof(int));

此数据表绑定到gridview。

如何重新排列datatable的顺序。如果第2行被删除,那么第3行必须变成第2行。就像那样。

提前感谢。

1 个答案:

答案 0 :(得分:1)

在T-SQL中,您可以使用关闭标识插入 - 这应该允许您使用顺序值更新标识值。

命令是:

SET IDENTITY_INSERT table ON
--update records here
SET IDENTITY_INSERT table OFF

只需将表替换为您正在使用的表格。

完成后你应该重新制作表格。

在执行此操作时还有许多其他事项需要考虑(如外键,索引碎片等),除非您有令人信服的理由,否则我不会推荐它。