数据库并发查询的修改问题

vt 2003-11-23 10:07:58
我用的是SQL SERVER 2000,多个用户共用一个表,但当有一个用户修改了这个表时,其他已经连接了的用户却没有看到这些修改,请问怎么样才能让已经连接了的用户看到的都是最新的记录(所有的用户都是用sa登陆的)
...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
vt 2003-12-10
  • 打赏
  • 举报
回复
谢谢各位的帮助!
zjcxc 元老 2003-11-23
  • 打赏
  • 举报
回复
仅当你打开记录集的时候
,设置CursorType 为 AdOpenDynamic 动态游标

其他用户的修改你才可以看到.
zjcxc 元老 2003-11-23
  • 打赏
  • 举报
回复
设置或返回以下某个 CursorTypeEnum 值。

常量 说明
AdOpenForwardOnly 仅向前游标,默认值。除了只能在记录中向前滚动外,与静态游标相同。当只需要在记录集中单向移动时,使用它可提高性能。

AdOpenKeyset 键集游标。尽管从您的记录集不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,键集游标与动态游标相似。仍然可以看见其他用户更改的数据。

AdOpenDynamic 动态游标。可以看见其他用户所作的添加、更改和删除。允许在记录集中进行
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
所有类型的移动,但不包括提供者不支持的书签操作。

AdOpenStatic 静态游标。可以用来查找数据或生成报告的记录集合的静态副本。另外,对其他用户所作的添加、更改或删除不可见。
zjcxc 元老 2003-11-23
  • 打赏
  • 举报
回复
连接方式的问题.
dlpseeyou 2003-11-23
  • 打赏
  • 举报
回复
刷新一下看看
饮水需思源 2003-11-23
  • 打赏
  • 举报
回复
修改使用事务控制
修改前已打开时修改后需要重新打开才能看到
vt 2003-11-23
  • 打赏
  • 举报
回复
如果重起的话则可以看到最新的修改
pengdali 2003-11-23
  • 打赏
  • 举报
回复
不好,这样容易出现许多意想不到的问题,如死锁。建议使用:

create table #锁表(编号 int)

--代码:
if exists(select 1 from 编号='你的编号')
return

insert #锁表 values('你的编号')

.....你处理的代码

delete #锁表 where 编号='你的编号'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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