应该是open执行sql语句,然后是把结果数据集取回,execute执行sql语句,不取回数据。 execute用insert/delete等语句。 Open用select * from your_table等语句。
这两个方式不完全等价!!!!!区别1: rs.open(strsql),只要你在后面用适当的参数,可以返回可写的结果集。 而 set rs=cnn.execute(strsql) 返回的只能是只读的结果集!!!区别2: 使用rs.open,必须先创建rs,就是说要先NEW它; 必须先dim rs as new adodb.recordset 或者 set rs = new adodb.recordset 而使用set rs=cnn.execute(strsql),就没有必要先NEW它了。 只要 dim rs as adodb.recordset 就可以。
CNN.EXECUTE是数据库方式执行
实际上一般情况下两者是等价的
execute用insert/delete等语句。 Open用select * from your_table等语句。
rs.open(strsql),只要你在后面用适当的参数,可以返回可写的结果集。
而
set rs=cnn.execute(strsql)
返回的只能是只读的结果集!!!区别2:
使用rs.open,必须先创建rs,就是说要先NEW它;
必须先dim rs as new adodb.recordset
或者 set rs = new adodb.recordset
而使用set rs=cnn.execute(strsql),就没有必要先NEW它了。
只要 dim rs as adodb.recordset
就可以。