表查询应该怎么锁定
情况是这样的,一个电子商务网站,定单号应该是唯一的,定单号是这样生成的,查询定单的表,然后把定单号+1,可是目前遇到这样的情况,有时候两个连接同时查询定单的表,出来的定单号就一样了,这样就麻烦了.
我设想这样解决:在一个数据库连接查询某个表的时候,不允许其他连接查询该表,让这个查询排在后面,等这个连接关闭了以后才处理,应该怎么实现?
问题点数:0、回复次数:5Top
1 楼82417(82417)回复于 2003-09-03 21:35:21 得分 0
忘了说了,是sqlserver2000Top
2 楼cloudchen(cloudchen)回复于 2003-09-03 21:55:27 得分 0
启用事物处理。不过这样并不好,事务处理会延迟响应的时间
生产唯一订单号的办法是用是
时间+SessionID
只要服务器的时间不要倒着走就永远不会有相同的订单号Top
3 楼82417(82417)回复于 2003-09-03 21:59:25 得分 0
启用事物处理我不太明白,能详细说说吗,还有那个sessionID怎么获得啊,我不太懂,忘指教Top
4 楼cloudchen(cloudchen)回复于 2003-09-03 22:23:15 得分 0
Response.write replace(replace(replace(now,"-",""),":","")," ","")&Session.SessionIDTop
5 楼82417(82417)回复于 2003-09-04 15:31:30 得分 0
这样生成的定单号太长了,数据库已经设置好了,还是锁定表吧,应该怎么锁定?Top




