数据库的问题,十万火急!!!

chenqun 2003-09-13 09:19:32
一个客户读数据并往数据库修改数据,另一个客户也读数据并修改数据,这样不是第一个客户再看数据已不是自己的数据了吗?(被另一个客户修改了)因如和解决这个问题。谢谢!!!(越详细越好)
...全文
43 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
PrgmLover 2003-09-13
  • 打赏
  • 举报
回复
一、可以在数据库级别加锁:
这是典型的维护数据完整性,何防止读胀数据和数据不能重读问题。 一般来说要解决多用户读数据库的这种维护数据一致性的问题都是采用加锁。 主要是:当用户读数据时对该表加共享锁,要修改数据时就加排他锁。
共享锁:加了共享锁之后,允许其他用户加共享锁但不能加排他锁。
排他锁:在没有用户加共享锁的情况下才能加排他锁,加了排他锁之后不能再加共享锁。简单说就是独占。
具体的加锁方法根据数据库不同而不同,看看Help就Ok了。
二、在应用程序级别加锁。
增加个表实现功能独占的加锁机制就行了。
yuner5 2003-09-13
  • 打赏
  • 举报
回复
是用SQL中的事物,当一个用户使用给数据库表时,就禁止其他用户使用,还可以避免死锁问题。
newnewworm 2003-09-13
  • 打赏
  • 举报
回复
同意PrgmLover(爱国者),建立数据库级别加锁和应用程序级别加锁机制!
dawnming 2003-09-13
  • 打赏
  • 举报
回复
gz
我原本不是一头猪
jpyc 2003-09-13
  • 打赏
  • 举报
回复
http://218.56.11.178:8020/web/technology/SQLServer2000/transaction.aspx
wzh1215 2003-09-13
  • 打赏
  • 举报
回复
给数据加锁
yown 2003-09-13
  • 打赏
  • 举报
回复
这是读脏数据问题,先给数据加共享锁,后加排它锁!
xiaofeng007 2003-09-13
  • 打赏
  • 举报
回复
gz
mingjunlee 2003-09-13
  • 打赏
  • 举报
回复
在数据库里可以给数据加锁,在一个数据正在被读取时,不允许
其他任何对该数据的修改
fyje 2003-09-13
  • 打赏
  • 举报
回复
定义一个数据库刷新机制,使客户端和数据库尽量一直
bluenightsky 2003-09-13
  • 打赏
  • 举报
回复
gz
zhoutian618 2003-09-13
  • 打赏
  • 举报
回复
尽量让前台快点刷新吧。

尽量在提交的时候开始事务,
然后尽量把更新模式改成uaWhereChanged模式。
coolfilm 2003-09-13
  • 打赏
  • 举报
回复
写提交SQL用rowlock

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧