怎样来设置事务和锁定表记录产

xlfsprite 2002-04-18 06:27:18
本人最近在做一个网络版的一个数据库的系统,以前一直做的是单机版的,没做过,网络版,我用的控件是QUERY,DBGRIDE数据库是SQLSERVER,为了防止多个用户同时修改某条记录,以保证数据的完整一致性,我想一个可以用设置事务的办法,先开始事务,再提交事务,提交不成功就进行ROLLBACK操作,还有一种办法就是在执行修改,删除前锁定某条记录,一执行完毕业,再解锁,不过我以没做,不知道语句怎么写,请各位高手告之,急用,另外如果一个用户在对某条记录进行操作时,别的用户正在执行它操作,就是锁了这个记录,那这个用户这时个进行操作会出现错误信息,怎样来捕获这个错误信息呢?
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlf_boy 2002-05-07
  • 打赏
  • 举报
回复
你要可以在SQL SERVER中写存储过程,用存储过程的好处可以批量处理数据,由于存储过程在服务器上执行的,这样可以避免过多频繁的打开数据表,另外可以增加安全性!最重要的是存储过程可以自动处理事务,以保证数据完整一致性
另外你也可以用
try
adoconnection1.BeginTrans
{执行语句}
adoconnection1.CommitTrans;
except
adoconnection1.RollbackTrans;
showmessage(’提交失败');
end;
xlfsprite 2002-04-18
  • 打赏
  • 举报
回复
这样的判断是否可行啊,我以前没见过
xlfsprite 2002-04-18
  • 打赏
  • 举报
回复
这样也可以判断,我去试试看
eagle123 2002-04-18
  • 打赏
  • 举报
回复
在进行操作之前首先判断数据库记录的状态
if adodataset.state in [insert,edit] then exit
xlfsprite 2002-04-18
  • 打赏
  • 举报
回复
怎么没有人加回答啊,我等着急用

5,386

社区成员

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

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