当使用
rs.open(select * from table),conn.adopenkeyset,aslockbatchoptimistic
rs.movelast
没有问题但使用
set rs=conn.excute(select * from table)
rs.movelast
就有问题原来以为二者一样的,到底有和不同?

解决方案 »

  1.   

    open的方法不同,返回的rs属性当然不同,看ADO参考...
      

  2.   

    注意Execute 方法返回的 Recordset 对象始终为只读、仅向前的游标。
      

  3.   

    一般设定记录集时,除非数据使用后一定不能重新被使用,否则不建议使用execute方法
      

  4.   


    Excute 方法得到的是只读的行集合。适当的时候是可以使用的,用得好会有不少便利。它最大的好处是不需要 Close,就可以重复地查询。例如,当你初始化界面时,使用一个 Recordset 对象填充所有数据来自库表的 ComBox 或 ListBox,就没有必要兴师动众地 Open。所以,我不会简单地“不推荐”。