c# – 最好的方法是在现有数据表中添加带有顺序编号的新列
发布时间:2020-12-16 01:39:35 所属栏目:百科 来源:网络整理
导读:我有一个非空的数据表.向其添加另一列的最佳方法是从1开始的顺序编号. 我尝试了以下代码.但没有奏效. DataColumn dc = new DataColumn("Col1");dc.AutoIncrement = true;dc.AutoIncrementSeed = 1;dc.AutoIncrementStep = 1; dc.DataType = typeof(Int32);dt
我有一个非空的数据表.向其添加另一列的最佳方法是从1开始的顺序编号.
我尝试了以下代码.但没有奏效. DataColumn dc = new DataColumn("Col1"); dc.AutoIncrement = true; dc.AutoIncrementSeed = 1; dc.AutoIncrementStep = 1; dc.DataType = typeof(Int32); dt.Columns.Add(dc); 在这种情况下设置任何表达式会有帮助吗 提前致谢 解决方法
我认为你可以通过使用第二个“辅助”数据表来实现这一点,该数据表只包含一个自动增量字段,然后用现有数据填充/合并它,如下所示:
DataTable dtIncremented = new DataTable(dt.TableName); DataColumn dc = new DataColumn("Col1"); dc.AutoIncrement = true; dc.AutoIncrementSeed = 1; dc.AutoIncrementStep = 1; dc.DataType = typeof(Int32); dtIncremented.Columns.Add(dc); dtIncremented.BeginLoadData(); DataTableReader dtReader = new DataTableReader(dt); dtIncremented.Load(dtReader); dtIncremented.EndLoadData(); 然后你只需返回dtIncremented表而不是原来的dt.不是优雅的解决方案,但应该工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |