adocon.execute、cmd.execute及rs.open都是返回一个记录集,这我知道
1,可是它们三者有什么区别,具体每个方法的参数如何设置(rs的我知道,主要是前两个)主要是前两个的区别和设置!
2,比如我想取得一个只读仅向前的记录集用.execute应该怎么写?

解决方案 »

  1.   

    cmd。execute执行的是插入,删除,更改sql操作,rs.open可以打开一个表,也可以打开一个满足查询条件的纪录集合。如:rs.open "select * from 表名 where 条件"
      

  2.   

    但是cmd.execute也是返回记录集的呀??
    1,可是它们三者有什么区别,具体每个方法的参数如何设置(rs的我知道,主要是前两个)主要是前两个的区别和设置!
    2,比如我想取得一个只读仅向前的记录集用.execute应该怎么写?
      

  3.   

    cmd主要调用存储过程等用,con主要更改,插入用,rs则是查询用
      

  4.   

    如果你仅仅是执行一条SQL语句,Command.Execute 和 Connection.Execute是一个效果。这两者最重要的区别有两点:第一:
    你可以先进行一个测试1) 随意建立一张表(SQL Server下最好,ORACLE/DB2一样,MDB可能无此效果)
    2) 用Connection.Execute 执行1万次对此表的INSERT操作,测试一下时间
    3) 同样的INSERT语句赋予COMMAND,但是在执行1万次操作前,先加入语句
        COMMAND.PREPARED=TRUE 再测试一下时间第3的时间应该比第2的时间短很多很多,原因就是COMMAND允许你编译一条SQL语句,象SQL SERVER的存储过程一样,而CONNECTION每次都会重新编译,想想都知道其中的差别了。第二:
    在上述测试中,通常你插入的1万条记录至少有一个字段的值会发生变化
    1) 使用CONNECTION时,你必须在每个循环重构你的SQL语句
    2) 使用COMMAND时,你可以使用COMMAND.PARAMETERS.ADD加入你要变化的字段的参数,每次只需要对COMMAND.PARAMETERS("参数名")赋值即可能对参数赋值是标,能编译才是本另外,RECORDSET的主要作用是构成一个服务端/客户端的游标(或者说一个内存视图),与前两者有本质的区别
      

  5.   

    con 是连接。command 是执行命令(在连接后才可以)