本帖最后由 xlxyx 于 2014-11-03 16:03:52 编辑

解决方案 »

  1.   

    Recordset对象的Open方法原型:
    Open([Source],[ActiveConnection],[CursorType],[LockType],[Options])
    CursorType游标类型:
    Const adOpenForwardOnly = 0 
    前向游标,为缺省游标,提供最快的运行性能。用它打开recordset,从对至尾顺序取得所有结果。它不支持向后滚动,只允许在结果间单向移动。Const adOpenKeyset = 1 
    静态游标,反映第一次打开游标时表中数据的状态,游标无法查明底层表中的数据行是否更新过、删除过或添加了新的数据。不过与只能前移的洲标不同,静态游标可以在结果间前后滚动。Const adOpenDynamic = 2 
    键盘驱动的游标,可以查询表中底层数据行的某些变化,但不是全部。它特别是可以准确反映数据是否更新过。但它不能查明其它用户是否曾删除过数据行(删除掉的数据行在recordset中会留下空洞)。键盘驱动的游标支持在结果间前后滚动。Const adOpenStatic = 3 
    动态游标,是最丰富的游标类型。游标打开时可以查询其他用户对表的任何改动,而且支持滚动。LockType加锁类型: 
    Const adLockReadOnly = 1 
    缺省的上锁类型,只读方式上锁允许多个用户同时读取同样的数据,但不能改变数据。Const adLockPessimistic = 2 
    以悲观上锁方式打开数据对象。该方式假定在你编辑记录时会有其它用户访问数据。此时一旦你开始编辑记录,其它用户就不能访问该数据。Const adLockOptimistic = 3 
    以乐观上锁方式打开数据对象。该方式假定在你编辑记录时不会有其它用户访问数据。在完成改变之前,其它用户不能访问该记录。Const adLockBatchOptimistic = 4 
    执行多行批处理更新时使用这种类型Options参数:
    Options参数标明用来打开记录集的命令字符串的类型。告诉ADO被执行的字符串内容的有关信息有助于高效地执行该命令字符串。adCMDTable。被执行的字符串包含一个表的名字。 
    adCMDText。被执行的字符串包含一个命令文本。 
    adCMDStoredProc。被执行的字符串包含一个存储过程名。 
    adCMDUnknown。不指定字符串的内容。(这是缺省值。)
      

  2.   

    $rs->Open("select  * from db_CirculatePlay ",$conn,1,1);   请问这个语句的,1,1  其中的1,1,前一个1是游标类型,后一个1是锁定类型:游标类型有四个可选值:0,1,2,3 默认为0
    0的含义是只能向前游标,不支持分页、Recordset、BookMark 
    1的含义是键集游标,其他用户对记录所做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页,Recordset,BookMark 
    2的含义是动态游标,支持所有功能,但最耗费资源 
    3的含义是静态游标,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动 锁定类型可选值有1,2,3,4 
    1的含义是只读,不允许对记录集做任何修改 
    2的含义是悲观锁定,当修改时立即锁定记录,较为耗费资源 
    3的含义是乐观锁定,只有在调用Update方法时才锁定记录集 
    4的含义是不锁定,更改、插入和删除是在批处理方式下完成的如果我回答的准确,你明白了,请给分儿吧!~~