标题:商品销售单号问题!
只看楼主
hksyw
Rank: 1
等 级:新手上路
帖 子:171
专家分:6
注 册:2006-2-21
结帖率:37.5%
 问题点数:0 回复次数:4 
商品销售单号问题!
现在开发一个商品销售页面。
在销售的时候会产生一个单号,这个单号必须比上一个单号大1,
比如上一个单号是201202250010001,
那么新产生的单号就得是201202250010002
这个怎样做?还要考虑两台电脑同时销售会不会占用同一个单号,

在线等!急急急
搜索更多相关主题的帖子: 商品销售 台电脑 在线 开发 
2012-02-25 17:31
hksyw
Rank: 1
等 级:新手上路
帖 子:171
专家分:6
注 册:2006-2-21
得分:0 
没人回吗?

2012-02-26 10:02
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
20120225  0010001 拆分成两部分 前边是年月起 这个不细说 LZ自己会取 后面是0010001 你把它变成字符串 例如 "1"+0010001.ToString()
然后在转换成数字加1  double.parse( ("1"+0010001.ToString() ))+1   
考虑到多台计算机 你可以把生成的销售单号存到一个数据库表里  这样就可以避免两个机器生成一样的 也可以判断是否重复
这里重要的一点 就是插入的时候 要对这个表 加锁 这样可以避免这两条相同的记录同时插入的情况 希望对LZ有帮助

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2012-02-27 16:41
hksyw
Rank: 1
等 级:新手上路
帖 子:171
专家分:6
注 册:2006-2-21
得分:0 
谢谢!版主,虽然我还没有解决问题,但对版主
的回复,还是非常感激!

2012-03-05 09:54
hksyw
Rank: 1
等 级:新手上路
帖 子:171
专家分:6
注 册:2006-2-21
得分:0 
以下是引用wangnannan在2012-2-27 16:41:42的发言:

20120225  0010001 拆分成两部分 前边是年月起 这个不细说 LZ自己会取 后面是0010001 你把它变成字符串 例如 "1"+0010001.ToString()
然后在转换成数字加1  double.parse( ("1"+0010001.ToString() ))+1   
考虑到多台计算机 你可以把生成的销售单号存到一个数据库表里  这样就可以避免两个机器生成一样的 也可以判断是否重复
这里重要的一点 就是插入的时候 要对这个表 加锁 这样可以避免这两条相同的记录同时插入的情况 希望对LZ有帮助
插入的时候加锁,
insert into person with (holdlock) ([Name],Age) values ('a',20),这条我插入了一万条
下面是没有加锁的插入
insert into person (Name,Age) values('b',30)这条我插入了一条
问题出来了,插入的b在那一万条中间而不是最后,
我的加锁是不是不正确,,那正确的加锁应该怎么写呢????

2012-03-05 11:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-361634-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.128319 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved