以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]_Identify 编号问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127567) |
-- 作者:eauacqua -- 发布时间:2018/11/16 17:29:00 -- [求助]_Identify 编号问题 情况说明: 1)连接的外部数据源,采用的是sql2017版本的,编号直接选取_identify的值进行编号。 2)在编号为0030几号时,突然编号调到1001,后来2001,到4001,
在后台数据库看的时候,没有多余的行号
请问这是什么原因?
此主题相关图片如下:捕获.png |
-- 作者:eauacqua -- 发布时间:2018/11/16 17:32:00 -- 并且编号也不连续 |
-- 作者:有点甜 -- 发布时间:2018/11/16 17:47:00 -- 1、编号是不断递增不回头的。比如你新增了100行保存,你又删除了90行,编号不会回到11,而是101。
2、你可以换一种方式编号 http://www.foxtable.com/webhelp/scr/2403.htm
3、如果需要不断号 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=85293&replyID=590914&skin=1
|
-- 作者:eauacqua -- 发布时间:2018/11/16 17:58:00 -- 甜版,我疑惑的是:我中间肯定没有删过千行级别的,最多删过十几行,怎么突然编号由几十行,跳到了上千行呢? |
-- 作者:有点甜 -- 发布时间:2018/11/16 18:06:00 -- 以下是引用eauacqua在2018/11/16 17:58:00的发言:
甜版,我疑惑的是:我中间肯定没有删过千行级别的,最多删过十几行,怎么突然编号由几十行,跳到了上千行呢?
加入一列表达式列,把 _Identify 列显示出来看看。 |
-- 作者:有点甜 -- 发布时间:2018/11/16 18:07:00 -- 如果 _Identify 列正常,那就是你写的代码有问题,贴出所写代码。 |
-- 作者:eauacqua -- 发布时间:2018/11/16 21:06:00 -- 甜版,代码如下:
e.DataRow.Save() If e.DataRow.IsNull("农户编码") ThenDim bh As Integer bh = e.DataRow("_Identify") e.DataRow("农户编码") = "N" & Format(bh,"000000") If User.Type = UserTypeEnum.User Then e.DataRow("编写人") = User.Name End If End If 此主题相关图片如下:捕获1.png |
-- 作者:有点蓝 -- 发布时间:2018/11/16 21:17:00 -- 除了有人为的干预,我想不出有其他的可能性。自增编号是数据库自己的功能,和外部程序没有关系的 |
-- 作者:eauacqua -- 发布时间:2018/11/17 8:11:00 -- 收到,感谢蓝版 |
-- 作者:Grandraw -- 发布时间:2019/3/7 8:44:00 -- 这个问题我也碰到。 我敢肯定不是人为的干预。为此我还特地初始化了我的表好几次,然后通过循环的方式自动增加行,加到几百行的时候吧,编号突然就跳到上千。 这个问题一直困惑我。 如果是程序的问题,希望开发者重视起来。
|