如果判断两个用户连接同一张表,而让同一时刻只让一个用户访问???求救 现在做一个进销存软件,在出库操作的时候,如果避免两个用户同时调用库存里面的记录,举个例子:库存2个hub,用户甲看到了,调出库2个,用户乙在同一时间刚好也看到,也需要调2个,这样实际就调出4个,而库存只有2个,有办法达到,用户甲看到的时候,不让用户乙看到,等甲调完了,再让乙看吗?或者锁定整个表,一个用户访问,另外的用户就不可以访问! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 告诉你一个思路(我就是这样实现的):设库存的字段为fStockNum,再增加一个字段fStockNum_Tmp,用于存放临时库存,即两个用户都没有出库时fStockNum与fStockNum_Tmp的数量是一样的,都为2;当用户1先做这个商品的出库时(出库单没有保存),先将fStockNum_Tmp的数量减少,并不减少fStockNum的数量,这时用户2也去做这个商品的出库时先读取fStockNum_Tmp的数量,发现数量不够就不让出库。如果用户1做了“保存”操作,则将fStockNum的数量减少,如果用户1做了“放弃”操作,则将fStockNum_Tmp的数量增加,用于别的用户可以做这个商品的出库操作.这只是一个思路,具体实现时还要考虑很多细节问题。 一、用ADO动态方式显示。二、每次出库操作的时候检查数据库里的实际数据。 我是这样实现的。新建一个单独的表,有两个字段,其中一个字段是表名,另一个字段是逻辑字段,当一个用户打开一个表时,就搜索相应的表名,同时set对应逻辑字段为True,关闭表是将逻辑字段设为False.每次打开表时,写一个过程,先检查表标志是否为True,否则执行前面的操作,是则提示用户稍后操作。 每次出库操作的时候检查数据库里的实际数据。 我觉得不能用锁, 难道你在看hub的时候就不允许别的人看路由器了嘛????? 太不科学了吧! 请问VB如何连接SQLserver? 如何用webbrowse控件获取网页上的文本 dataGrid控件在什么地方? 运行时出现:找不到可插入的ISAM 是怎么回事? 菜鸟问题:如何传递地址? 怎么让程序不能重复运行 *** 高分,关于程序中错误捕获的问题,一定给分! *** 请大家帮忙看看这句sql语句,老说from子句错,谢谢了 很菜的问题:为什么菜单中的快捷键没有“Alt+F1、F2……” 请教关于显示大批量记录的问题 账号后面的星是怎么增加的? vb里有没有移位语句的啊?
设库存的字段为fStockNum,再增加一个字段fStockNum_Tmp,用于存放临时库存,即两个用户都没有出库时fStockNum与fStockNum_Tmp的数量是一样的,都为2;当用户1先做这个商品的出库时(出库单没有保存),先将fStockNum_Tmp的数量减少,并不减少fStockNum的数量,这时用户2也去做这个商品的出库时先读取fStockNum_Tmp的数量,发现数量不够就不让出库。如果用户1做了“保存”操作,则将fStockNum的数量减少,如果用户1做了“放弃”操作,则将fStockNum_Tmp的数量增加,用于别的用户可以做这个商品的出库操作.这只是一个思路,具体实现时还要考虑很多细节问题。
二、每次出库操作的时候检查数据库里的实际数据。
我觉得不能用锁, 难道你在看hub的时候就不允许别的人看路由器了嘛????? 太不科学了吧!