以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [原创]为什么编号不会自增  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=136300)

--  作者:tornad
--  发布时间:2019/6/10 22:56:00
--  [原创]为什么编号不会自增

示例二

假定表中有一个编号列,希望新增行的时候,编号列能够自动加1,可以将DataRowAdding事件的代码设置为:

e.DataRow("编号") = e.DataTable.Compute("Max(编号)") + 1

这个例子其实没有什么意义的,对于外部表使用自动增量主键列,对于内部表使用表达式列引用内部编号列“_Identify”,是更好的选择。



按上面的例子改写自己的项目DataRowAdding事件中:e.DataRow("订货编号") = e.DataTable.Compute("Max(订货编号)") + 1



执行下来结果为:上一行订货编号是100,新增2行订货编号都是100.


为什么不会按DataRowAdding事件订货编号自增(101、102、~~~)。而是保持最后一次的订货编号(100)





[此贴子已经被作者于2019/6/10 22:57:10编辑过]

--  作者:有点蓝
--  发布时间:2019/6/10 23:13:00
--  
是不是写错事件了,我测试没有问题。上传具体实例说明
--  作者:tornad
--  发布时间:2019/6/11 12:54:00
--  
格式,代码如上,请老师解惑
[此贴子已经被作者于2019/6/11 12:55:57编辑过]

--  作者:有点甜
--  发布时间:2019/6/11 12:59:00
--  
以下是引用tornad在2019/6/11 12:54:00的发言:
格式,代码如上,请老师解惑
[此贴子已经被作者于2019/6/11 12:55:57编辑过]

 

做一个对应实例发上来测试。


--  作者:tornad
--  发布时间:2019/6/11 13:07:00
--  

[此贴子已经被作者于2019/6/14 10:04:36编辑过]

--  作者:tornad
--  发布时间:2019/6/11 14:03:00
--  
老师帮忙看一下


--  作者:有点甜
--  发布时间:2019/6/11 15:23:00
--  

 

把列类型改成【整型】数值型,即可

 

http://www.foxtable.com/webhelp/scr/0036.htm