为啥还会出现重号? 出库单号2009100001为啥我开始时候没有单号 200910****在 保存单据数据的事件里找到表里最大的号码+1生成出库号码为什么会出现2个操作员的单据数据跑到1个单号上了????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以上保存数据事件中begin查找最大编号+1开始事务保存数据结束事务还是有重复单号。 to:ZuoBaoquan那么怎么来限制呢?我用的ADO事务开始事务查找最大编号+1保存数据结束事务 ???? 思路是对的,问题是为什么不用一个单独的表来保存这些编号呢?比如:Numbers表 (TypeCode, NextNumber)每种类型的单据各一个记录。这样,再配合RepeatableRead隔离级别和行锁定,效率会更好一些。 你直接把单号那一列设为主KEY,不允许重复,再针对报错进行处理,如果是因为重复而报错,就加1...我就不相信还会有重号.... 跳号是跳号的问题,你现在的解决方式本身就有问题,因此,你先要保证提交的号码不重复再说。建议你建个新表来保存当前最大号码,然后在数据确定提交的时候,向数据库服务器获得最大号(以select from update的方式获得),并修改最大号码,这样能最大限度保证不跳号。 我是这样解决的,建个表保存最大单号,然后:begin tran最大单号:=最大单号+1select 最大单号commit tran 多表联合查询问题 delphi 使用sql数据库为什么会读不全值 动态FORM事件 我设计的网络通讯协议大家看看安全性如何!参与者皆有分! SQL问题 高手快来帮帮忙呀?数据库复制问题!!! (HELP)>>>>>>对生活的迷惘(一个要学DELPHI的人想说的话).........分全送 如何向另一个已编译的可执行文件中加入一个按钮控件,并加入事件代码? 请问高手Delphi7如何开发.net程序? 请问关于控制有没有控制IP地址输入格式编辑框 MScomm控件串口:十进制大于127就不能显示到LED的问题 盒子是不是挂了?
begin
查找最大编号+1
开始事务
保存数据
结束事务还是有重复单号。
那么怎么来限制呢?我用的ADO事务开始事务
查找最大编号+1
保存数据
结束事务
????
比如:Numbers表 (TypeCode, NextNumber)
每种类型的单据各一个记录。这样,再配合RepeatableRead隔离级别和行锁定,效率会更好一些。
我就不相信还会有重号....
建议你建个新表来保存当前最大号码,然后在数据确定提交的时候,向数据库服务器获得最大号(以select from update的方式获得),并修改最大号码,这样能最大限度保证不跳号。
最大单号:=最大单号+1
select 最大单号
commit tran