首先,祝大家新年快乐,在过去的2004年,我得到了大家无私的帮助,使得我一个人能为20多家单位成功的开发了各种软件,在此感谢大家。
大年初六就要出远门了为一家企业开发定做一个软件,软件搞定了,不过我现在有两三个问题无法解决:
1.软件有十台收费终端同时收费问题,要能产生收费编号不重复?
2.十台终端同时收费时,某一种商品的库存会出现并发的问题,如何解决?
希望大家能提供一点思路,给我一点类似代码,谢谢!(注:VB+SQLSERVER2000网络版)
大年初六就要出远门了为一家企业开发定做一个软件,软件搞定了,不过我现在有两三个问题无法解决:
1.软件有十台收费终端同时收费问题,要能产生收费编号不重复?
2.十台终端同时收费时,某一种商品的库存会出现并发的问题,如何解决?
希望大家能提供一点思路,给我一点类似代码,谢谢!(注:VB+SQLSERVER2000网络版)
解决方案 »
- 我的数据库myer.mdf谁都可以在企业管理器中打开看,我不知道如何加密它。好像在企业管理器中打开以后,找不到建立用户名和密码的地方,请赐教。我希望只有我能用一个用户名和密码打开,如何做。谢谢!
- vb6报表数据源问题?
- ◆2003年9月27日(15:00)12位MVP齐聚CSDN总部
- 怎样将SQL Server中的数据库备份到access库中?在线等待!!
- 如何将 picturebox 中的内容保存到图形文件中(大把分)
- VB里边的赋值和等于都是"="吗?
- ladorst(0).value 是记录集中的最大值,最小值怎么表示?
- 新手求救
- 本人用DAO连接Access数据库,请问可否用SQL语句查询,如何使用
- 50分 打包和安装的过程都很正常,但安装后程序运行总是出错告诉类未注册,再安装一次vb6后程序不再出错 如何解决
- 用word对象打开包含空格的文件路径的问题
- 就这个问题我都发过N个贴子了,可是还是没有人能帮忙解决?急坏了,高手们快帮帮忙吧,难道大家没有碰过这个问题吗?activereport报表问
1、用一个自增字段或者用一个Sequencer来产生不重复的编号
2、用数据库锁和事务。
2。数据库表加锁,事务也要用
declare @id int
begin tran
select @id=isnull(max(id)+1,1) from 表 with(tablockx)
insert 表(id,其他字段)
values(@id,.....)
commit tran
set @商品编号=1001
set @出库量=100
begin tran
select @库存量=库存数量-@出库量 from 库存表 with(tablockx)
where 商品编号=@商品编号
if @@rowcount=0
begin
raiserror('库存中无 "%d" 的商品!',1,16,@商品编号)
rollback tran
end
else if @库存量<@出库量
begin
raiserror('商品 "%d" 的当前库存为:%d,小于需要出库的数量:%d,无法出库',1,16,@商品编号,@库存量,@出库量)
rollback tran
end
else
begin
update 库存表 set 库存数量=@库存量-@出库量
where 商品编号=@商品编号
commit tran
end