日期:2014-05-20  浏览次数:20752 次

如何杜绝重票问题?
问题是:
编制一个客运站系统。如果有两个以上的售票员同时售某一座次表中的票,如何杜绝重票问题?
1、在售票查询和打印票期间有可能别的售票员查询到的售票状态是一样的,也就是说,这张票谁都可以卖。
2、在打印票时再作一次查询,可以减少重票,但在写数据库时依然有可能发生重票。有没有比较彻底的解决方案?
我用的数据库是SQL   server   2000.

------解决方案--------------------
1、使用存储过程而不是SQL语句来更新数据库
2、使用事务处理
3、使用锁机制,设定锁的时间和锁的级别,锁级别主要看你的并发要求。

------解决方案--------------------
楼上的正解.建议用锁.一般用一个简单的锁就能解决些问题.毕竟要求不是很严格的.
------解决方案--------------------
1、在售票查询和打印票期间有可能别的售票员查询到的售票状态是一样的,也就是说,这张票谁都可以卖。
是的。
2、在打印票时再作一次查询,可以减少重票,但在写数据库时依然有可能发生重票。有没有比较彻底的解决方案?
应该是先用带事务处理的存储过程提交数据库,成功后再打印!