在数据库中增加一个表,用于数据的锁定,当操作其他表中的数据时首先需要在LOCK表中添加一条记录,用于锁定这条记录,当别人再想操作的时候就会检查到在LOCK表中这条记录已经被锁定,就不允许其他用户操作!操作完成后,必须把这条加锁记录删除掉!
解决方案 »
- java socket多用户聊天方面的问题,求高手啊。。
- 现在企业里java GUI编程最常用的是swing还是swt,或者其它?
- 在一台没有装Java工具的电脑上运行java软件是怎么回事
- 请高手帮忙!!赐教!!
- 有没有办法监听swt的browser上面的拖拽操作?
- 请问如何实现字符串UTF8->BIG5,BIG5->UTF8。保证送分。
- HashTable中不用键值就取出数据吗?
- 关于播放声音文件的问题
- 如何判断A线程已死?并自动将这个已死的线程重启,而非人工干预?
- JAVA一个例子没看懂
- java.lang.OutOfMemoryError 求教
- 告诉我一下环境变量的设置吧。win2k jdk1.5.0
比如在oracle中使用select * from table for update的方法锁数据。或者是在数据库更新操作时核对数据有无变更.你这样做了,起码做到使另外一个程序不能改你的记录。
至于另外那个程序因为你的程序改了数据而出错,那就不是你管的了,万一人家已经考虑到了呢。
说得具体点就是:
系统A,系统B,表C,D行;
A读了C行,此时,B也读了C行,读出来的最大值数据肯定就是一样的,都再对最大值加一,再插到
表C里,那么,插进去的值肯定都是一样的。数据库事务我不懂,但是,我觉得A读了C行,此时,B也读了C行,数据库事务总不会不让B读C行吧?
既然读了,数据肯定就会重复;to:myhotsun(科科)
你说的是用程序锁定还是写存储过程?如果是前者的话那就得让另一个系统(其他公司的)也该程序了;怎么写存储过程我还不是很清楚,数据库不是我得强项,这是我的疑问,敲完了这段话我再google去:)