~~~~~~~~DataTable自增长列,很奇怪的问题!~~~~~~~~

hxm20003 2014-06-19 04:54:32


DataTable ndt = new DataTable();
DataColumn dc = new DataColumn();
dc.ColumnName = "disp_index";
dc.AutoIncrement = true;
dc.AutoIncrementSeed = 1;
dc.AutoIncrementStep = 1;
ndt.Columns.Add(dc);
ndt.Merge(dt);




dt里面一共有6条数据,执行上面代码后,发现ndt里面的disp_index,第1条为2,第2条为4 。。。。 为什么步进变成2了?
...全文
336 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxm20003 2014-06-23
  • 打赏
  • 举报
回复
没有哪位朋友碰到过类似的情况吗?
hxm20003 2014-06-20
  • 打赏
  • 举报
回复
引用 3 楼 Z65443344 的回复:
本地测试没有问题. 贴出你的其他代码
dt是通过参数传进来的,贴出的这些代码是这个Function的最前面了,dt中一共有7条数据,执行ndt.Merge(dt);后,ndt中的“disp_index”就变成2,4,6,8,10,12,14。找不到原因很奇怪。
hxm20003 2014-06-20
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
是不是ndt.Merge(dt);导致的
跟踪下来好像是ndt.Merge(dt);导致的,但不知道为什么会这样,请问怎么解决?
jointan 2014-06-19
  • 打赏
  • 举报
回复
我印象中Merge对于自增列只是简单的复制,如果出现不唯一,才会报错,否则会把源表中的数据原封不动的复制进来,复制过程不实施自增.
於黾 2014-06-19
  • 打赏
  • 举报
回复
本地测试没有问题. 贴出你的其他代码
渃水 2014-06-19
  • 打赏
  • 举报
回复
不清楚,感觉跟最后的合并有关系
bdmh 2014-06-19
  • 打赏
  • 举报
回复
是不是ndt.Merge(dt);导致的

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧