请问李洪根,如何编程将正在操作的表锁定?

hyfu111 2003-08-21 10:17:02
可以实现吗?也就是说我正在进行修改或查询一个表的内容,如果同时有人将这个表删了,那么就会出现错误。可不可以编程将我正在操作的表锁定?万分感谢
...全文
75 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
junwhj 2003-08-22
  • 打赏
  • 举报
回复
在事务中执行:select * from table with (tablockx) where 1=0,对表的锁定会维持到事务结束,加上where 1=0子句速度更快,不加也可以。
lxcc 2003-08-21
  • 打赏
  • 举报
回复
最理想的是设置权限操作,没有权限不允许作删除表的操作
lzj34 2003-08-21
  • 打赏
  • 举报
回复
用锁和事务都行
lihonggen0 2003-08-21
  • 打赏
  • 举报
回复
呵呵,谢谢 qingming81(晴明) 关心
lihonggen0 2003-08-21
  • 打赏
  • 举报
回复
呵呵,谢谢 qingming81(晴明) 关心
lihonggen0 2003-08-21
  • 打赏
  • 举报
回复
你也可用这种方式:

用事务

CN.BeginTrans 开启事务

CN.Execute "insert into table1 ........"
CN.Execute "insert into table2 ........"


没有提交事务,别人不能删

CN.CommitTrans
Exit Sub
ErrHandle:
CN.RollbackTrans



qingming81 2003-08-21
  • 打赏
  • 举报
回复
老李够忙的,--------打开方式取“悲观锁”(这可是老李的原话),即
With rs
.Open "Select * from Authors;", conn, adOpenStatic, adLockpessimistic
----
end with
hyfu111 2003-08-21
  • 打赏
  • 举报
回复
所以我就想问如何在用表的时候把表锁定,而不是只锁定当前的那条记录。各位大哥,有这种办法吗?
qingming81 2003-08-21
  • 打赏
  • 举报
回复
有任何人在用的时间,不允许删除表!
wdwd05 2003-08-21
  • 打赏
  • 举报
回复
hyfu111(怎么办)

已经把表删了?我晕~

那就先判断表在不在,没事有事的删什么表吗~
wdwd05 2003-08-21
  • 打赏
  • 举报
回复
hyfu111(怎么办)

已经把表删了?我晕~

那就先判断表在不在,没事有事的删什么表吗~
wdwd05 2003-08-21
  • 打赏
  • 举报
回复
通常用事务解决,比较直观
On Error Goto Err_Handle
CN.BeginTrans '开启事务
CN.Execute "insert into table1 ........"
CN.CommitTrans '提交事务
Exit Sub
Err_Handle:
CN.RollbackTrans ’回滚

在此期间是绝对不允许访问的~也就删除不了~
hyfu111 2003-08-21
  • 打赏
  • 举报
回复
多谢大家,但是如果出现以下这种情况:我已经把一张表的内容显示在窗体上,此时有人把这张表删掉了,那么我对这张表所做的任何修改在提交后都会有报错.我应该如何运用事务或其他手段来防止这种情况发生呢?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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