adocon.execute、cmd.execute及rs.open都是返回一个记录集,这我知道
1,可是它们三者有什么区别,具体每个方法的参数如何设置(rs的我知道,主要是前两个)主要是前两个的区别和设置!
2,比如我想取得一个只读仅向前的记录集用.execute应该怎么写?
1,可是它们三者有什么区别,具体每个方法的参数如何设置(rs的我知道,主要是前两个)主要是前两个的区别和设置!
2,比如我想取得一个只读仅向前的记录集用.execute应该怎么写?
1,可是它们三者有什么区别,具体每个方法的参数如何设置(rs的我知道,主要是前两个)主要是前两个的区别和设置!
2,比如我想取得一个只读仅向前的记录集用.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的主要作用是构成一个服务端/客户端的游标(或者说一个内存视图),与前两者有本质的区别