以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  _identify存盘前后会变?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131817)

--  作者:Grandraw
--  发布时间:2019/3/7 8:38:00
--  _identify存盘前后会变?
老师好,

最近遇到一个奇怪的现象。

本人开发订单系统,订单编号采用Identify加前缀的形式(代码写在datarowadded事件当中),订单编号必须保证唯一性。采用sqlserver数据源。

增加行(即订单)的时候,大部分订单编号没有重复。但最近在没有规律的情况下,偶尔发现竟然出现了重复的订单编号。(项目目前就我一个人用。)

经检查,发现通过克隆行按钮复制增加出来的行,在存盘之前的identify和存盘之后的identify竟然不同。(但又不是总这样,有时重启程序,在一段时间内就恢复正常。)

这样一来,存盘之后,在新增行的时候,identify还是有可能去取之前出现过的值,间接导致订单编号出现重复。

我暂时没有发现这个现象出现的规律,也不确定这个属不属于系统的错误。(我开发的系统在公司服务器上,由于链接公司的数据库,所以无法上传到这里。)

总之,导致的问题就是,通过identify的方法获得唯一编号的事情恐怕不那么可靠了。不知道这么说对不对?

目前实在不知道怎么解决这个问题。还有什么简单的办法获得唯一编号吗? 期待帮助

谢谢





--  作者:有点甜
--  发布时间:2019/3/7 8:49:00
--  

_Identify没保存之前是临时值,保存之后才是真实的值

 

你在需要真实_Identify的时候,就保存一下对应的行

 

或者是,在新增的时候,就保存