加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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.不是优雅的解决方案,但应该工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读