关于asp+access中同时多用户同时提交..写入数据库的问题
我做的是选题系统,每道题都有人数限制,而同时选题的人会很多,每道题只有1-3个名额。现在考虑到如果两人同时选择某道题时,而这道题人数限制为1人且现在无人选该题,那么这两人...
我做的是选题系统,每道题都有人数限制,而同时选题的人会很多,每道题只有1-3个名额。
现在考虑到如果两人同时选择某道题时,而这道题人数限制为1人且现在无人选该题,那么这两人同时选的时候都会被判断为可以选,接着就有两条数据被写入了数据库。
不知道有没有什么方法可以必免这种问题发生。。。。
哦。。知道了。。我一般用的conn,1,3。。试下看conn,1,2不知道可不可以解决这个问题 展开
现在考虑到如果两人同时选择某道题时,而这道题人数限制为1人且现在无人选该题,那么这两人同时选的时候都会被判断为可以选,接着就有两条数据被写入了数据库。
不知道有没有什么方法可以必免这种问题发生。。。。
哦。。知道了。。我一般用的conn,1,3。。试下看conn,1,2不知道可不可以解决这个问题 展开
4个回答
展开全部
进行写数据库前先地数据库进行写锁定操作,写完后再解锁。数据库一旦写锁定成功后就只允许一个用户进行写操作的,你不用担心有多个用户同时提交请求。
=======================
你在打开数据连接时是有参数可以选择是使用何种锁的,默认是不进行任何锁定的,你只要启用写锁,数据库系统会自动帮你完成上面的等待任务的,就是说当一个用户需要写数据库时(假设它得到了当前服务器资源),数据库系统会自动挂起其它写锁定请求,直到这个用户写完数据库,解除了写锁定(释放操作会解除),第二个请求写锁定的用户才获得服务器资源。
=======================
你在打开数据连接时是有参数可以选择是使用何种锁的,默认是不进行任何锁定的,你只要启用写锁,数据库系统会自动帮你完成上面的等待任务的,就是说当一个用户需要写数据库时(假设它得到了当前服务器资源),数据库系统会自动挂起其它写锁定请求,直到这个用户写完数据库,解除了写锁定(释放操作会解除),第二个请求写锁定的用户才获得服务器资源。
展开全部
这是冲突检测,在很多领域都要用到。
你的数据库里面应该有标志“是否有人选了”,建议把这个标志改为“被谁选了”,没有被人选的就是空闲的。
当发现没人被人选的题时,就去修改为被自己选择,然后检测修改是否成功,如果成功就继续使用,否则就说被别人选了。
你的数据库里面应该有标志“是否有人选了”,建议把这个标志改为“被谁选了”,没有被人选的就是空闲的。
当发现没人被人选的题时,就去修改为被自己选择,然后检测修改是否成功,如果成功就继续使用,否则就说被别人选了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
进行写数据库前先数据库进行写锁定操作写完再解锁数据库旦写锁定功允许用户进行写操作用担用户同提交请求
=======================
打数据连接参数选择使用何种锁默认进行任何锁定要启用写锁数据库系统自帮完面等待任务说用户需要写数据库(假设前服务器资源)数据库系统自挂起其写锁定请求直用户写完数据库解除写锁定(释放操作解除)第二请求写锁定用户才获服务器资源
=======================
打数据连接参数选择使用何种锁默认进行任何锁定要启用写锁数据库系统自帮完面等待任务说用户需要写数据库(假设前服务器资源)数据库系统自挂起其写锁定请求直用户写完数据库解除写锁定(释放操作解除)第二请求写锁定用户才获服务器资源
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用ajax定期刷新,并且在选题的时候先判断有没有人已经选了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询