防止冲突问题!
我想用VFP+SQL做一个C/S系统,就是用VFP在多台机器上做数据处理界面共同修改SQL所在的服务器的数据库,但是我应该用什么方法来控制同一条数据不能同时被2台以上机器进行修改呢?
LOCK( ) 函数
尝试锁定表中一个或更多的记录。
LOCK([nWorkArea | cTableAlias]|
[cRecordNumberList, nWorkArea | cTableAlias])
参数
nWorkArea| cTableAlias
尝试锁定指定工作区中打开的表的当前记录。nWorkArea 指定工作区号,cTableAlias 指定表别名。如果不指定工作区和表别名,LOCK( ) 函数尝试锁定当前工作区中的表的当前记录。
cRecordNumberList
指定尝试锁定多个记录时必须包含的一个或更多记录编号的列表。SET MULTILOCK 必须为 ON,并且必须要包含给多个记录加锁的工作区或表的别名。LOCK( ) 函数尝试锁定您所指定的所有记录。cRecordNumberList 指定的记录编号之间用逗号分隔。例如尝试给某表的前四个记录加锁时,cRecordNumberList 应为 1,2,3,4。若要锁定多个记录,可以对其中的每一个记录重复下列步骤:移动记录指针指向要锁定的记录,再发出 LOCK( ) 或 RLOCK( ) 命令。 在 Visual FoxPro 中,可以将 0 指定为记录编号。指定 0 时试图锁定表头