1、delphi+adoquery+sqlserver2000(70分)
如何实现数据库记录的锁定和解除?
还有,数据库记录锁定时,是否可以进行查询操作,如何控制查询操作?在多用户系统中,如何控制一条记录只有一个终端或用户使用?
请给详细的资料和例子,谢谢!!
特别是可能遇到的问题,遇到后要如何处理?2、数据库的锁定和解除要如何处理了?(30分)
如何实现数据库记录的锁定和解除?
还有,数据库记录锁定时,是否可以进行查询操作,如何控制查询操作?在多用户系统中,如何控制一条记录只有一个终端或用户使用?
请给详细的资料和例子,谢谢!!
特别是可能遇到的问题,遇到后要如何处理?2、数据库的锁定和解除要如何处理了?(30分)
允许设RequestLive 属性为true,用第二个Query控件进行修改.
2.用数据库自带的锁来处理。在更新时用事务!
FOR EXAMPLE:
BEGIN TRANSELECT *
FROM tb WITH(UPDLOCK, READPAST)
- UPDLOCK 让锁保留到事务结束, READPAST 跳过已经锁定的数据END TRAN
---------------------------------------------------------------------------------
不过最好是在一用户更新数据后,用消息来通知其它在线用户!避免用户同时打开某界面,而先后保存造成的种种问题~
使用ADOConnection做连接,设置成保持连接,让ADOQuery等(可以是多个)共享该连接,在必要的时候使用ADOConnection的BeginTran*开启事务,然后进行操作,在必要的地方进行事务回滚Rollback或者提交事务Commit.
还是不太明白,能说的详细些吗?网上找了好久,没有发现相应的资料,麻烦你了!也希望其他高手给予解答,谢谢!
=================
with (nolock)