怎样控制数据库(锁定、编辑等状态)?(200分)

  • 主题发起人 主题发起人 wyzok
  • 开始时间 开始时间
W

wyzok

Unregistered / Unconfirmed
GUEST, unregistred user!
我的数据库用SQL 7.0,应怎样才能实现当某一用户在增加、修改或删除
时,其他用户只能进行查询?怎样才能避免程序在进行增加、修改或删
除操作时越来越慢(用SQL语句或TTABLE控件或存储过程),属于不稳定
状态,有时会比较正常。
 
bde中有一项(我忘记了)设为rtCommited
 
没必要吧,Sql Server 本身就支持多用户并发操作,大富翁论坛本身就是一个例子,大家
都可以同时发表意见,要是每个用户都只能顺序排队的话,岂不是要等死了。:-(
 
SQL Server 本身就支持的锁机制很完善
当纪录处于编辑状态时,纪录就处于写锁状态
如果另一个用户要编辑他也要获得一个写锁,
他只能等待,所以就慢了.
一条纪录上获得读锁后,还可以继续获得读锁.
但不能获得写锁,写锁只能等待,直到写锁本释放.
所以编辑操作就慢了
 
我刚从csdn的光盘中得到一条信息:
How to obtain a Row-Level lock in an MSSQL database
答案:
SELECT * FROM tablename WITH (UPDLOCK ROWLOCK) WHERE condition
如果要获得另外的锁定方法就需要改变with后面的后面的锁定常数。
具体内容你可以查一查mssql的在线帮助。(这大概是7.0以上的版本中才有的功能!)
我没有试过!

 
多人接受答案了。
 
后退
顶部