环境:xp、delphi7、sybase问题:
1.怎么根据主键值删除数据库中某条记录呢?
2.多用户同时访问一个表,怎么锁定该表呢?我想让一个用户操作数据表时,其他用户不能操作。

解决方案 »

  1.   

    就一个delete where可以了。
    你在删除的时候数据库系统会给你锁表。
      

  2.   

    锁的概念很多,比如什么共享锁,排它锁,更新锁...;还有什么表锁、页锁、行锁等等
    锁要慎用,一不小心就会形成锁;或者一直未解锁时,会造成其它用户不能操作举个简单例子,下面是MSSQL的用法,sybase应该类似,其它用法,自己找找相关资料研究吧
    这是行锁,锁住表tb中Id=10这一笔数据30秒; 30钞内其它用户不能更新或者删除id=10这笔数据
    begin tran
    select * from tb with (rowlock) where id=10 
    waitfor delay '00:00:30'
    commit tran