设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: lgxysl
打印 上一主题 下一主题

关于“锁”的问题

[复制链接]
11#
发表于 2002-10-30 16:36:00 | 只看该作者
是 啊 是 啊,这个问题可真值得探讨
12#
发表于 2002-10-30 16:52:00 | 只看该作者
不错!!是个很严重的问题!!理论上是成立的!

可以使用sas编程,access作后台!

这样你就可以独自运行了!
只要该数据库被别人打开就不允许写操作!
但第1人退出后,机器系统自动检查库存数据,形成比较数据,第2人的要求将于生成的比较数据相比较产生可运行指针!
既缓运算!

谢谢!


13#
 楼主| 发表于 2002-10-31 07:29:00 | 只看该作者
现在我做法是:建一个名称为“锁”的表,字段有“货物编号”,“事务编号”。所有的数据都用窗体来打开(这样才可以用vb控制),如果要读取某货物的数,先要检查“锁”表中有没有这种货物的编号,如果有,则表示有用户正在使用它,只能等待,用循环反复检查“锁”表,直到“锁”表中已没有该种货物的编号(表其他用户已经完成操作),便在锁表中写一条包含“货物编号”和“事务编号”的记录(锁定该货物,别的用户不能使用),然后执行其他操作,执行完后,在“锁”表中删除这条记录(释放锁)。这样,就解决了并发冲突问题。为了防止死循环,反复检查“锁”50次之后,提示用户“数据忙”,暂取消当前操作。不知大家有何高见?
14#
发表于 2002-11-25 07:30:00 | 只看该作者

看看这个,或有帮助

Open 方法 (ADO Recordset)
      

打开游标。

语法

recordset.Open Source, ActiveConnection, CursorType, LockType, Options

参数

Source   可选,变体型,计算 Command 对象的变量名、SQL 语句、表名、存储过程调用或持久 Recordset 文件名。

ActiveConnection   可选。变体型,计算有效 Connection 对象变量名;或字符串,包含 ConnectionString 参数。

CursorType   可选,CursorTypeEnum 值,确定提供者打开 Recordset 时应该使用的游标类型。可为下列常量之一(参阅 CursorType 属性可获得这些设置的定义)。

常量 说明
AdOpenForwardOnly (默认值)打开仅向前类型游标。
AdOpenKeyset 打开键集类型游标。
AdOpenDynamic 打开动态类型游标。
AdOpenStatic 打开静态类型游标。


LockType   可选。确定提供者打开 Recordset 时应该使用的锁定(并发)类型的 LockTypeEnum 值,可为下列常量之一(参见 LockType 属性可获得详细信息)。

常量 说明
AdLockReadOnly (默认值)只读 — 不能改变数据。
AdLockPessimistic 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录。
AdLockOptimistic 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用Update 方法时才锁定记录。
AdLockBatchOptimistic 开放式批更新—用于批更新模式(与立即更新模式相对)。


Options   可选,长整型值,用于指示提供者如何计算 Source 参数(如果它代表的不是 Command 对象),或从以前保存 Recordset 的文件中恢复 Recordset。可为下列常量之一(参见 CommandType 属性可获得该列表中前五个常量的详细说明)。

常量 说明
adCmdText 指示提供者应该将 Source 作为命令的文本定义来计算。
adCmdTable 指示 ADO 生成 SQL 查询以便从在 Source 中命名的表中返回所有行。
adCmdTableDirect 指示提供者更改从在 Source 中命名的表中返回所有行。
adCmdStoredProc 指示提供者应该将 Source 视为存储过程。
adCmdUnknown 指示 Source 参数中的命令类型为未知。
adCmdFile 指示应从在 Source 中命名的文件中恢复保留(保存的)Recordset。
adAsyncExecute 指示应异步执行 Source。
adAsyncFetch 指示在提取 Initial Fetch Size 属性中指定的初始数量后,应该异步提取所有剩余的行。如果所需的行尚未提取,主要的线程将被堵塞直到行重新可用。
adAsyncFetchNonBlocking 指示主要线程在提取期间从未堵塞。如果所请求的行尚未提取,当前行自动移到文件末尾。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-26 02:25 , Processed in 0.170549 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表