简单的说:set rs=conn.execute(sql)创建了记录集对象的一个实例,从数据库返回查询结果,但这时的记录集数据指针只能向下移,而不能向上移动,既不能执行movefirst,moveprevious指令。利用rs.open(sql,conn)可以完全的操作数据库。这些都是asp中用的。
adodb.Recordset 中Rs.Open(Sql,Conn)可以设置游标类型,锁类型等,
Conn.Execute(Sql)返回的是一个只能向下移的游标,一般用于简单的数据库操作,
比如Conn.Execute(select getdate())(0).value获取数据库时间等.
 
1. RS.OPEN SQL,CONN,A,B,C 
2. 
CONN.EXECUTE(SQL,RowsAffected,C) 
参数含义: 
SQL的值可以是SQL语句、表名、存储过程名,也可以是数据提供者所能接受的任意字符串。为了提高性能,最好为C参数指定合适的值 
可选参数RowsAffected将返回INSERT、UPDATE或DELETE查询执行以后所影响的数目。这些查询会返回一个关闭的Recordset对象。 
一个SELECT查询将返回RowsAffected值为-1并且返回带有一行或多行内容的打开的Recordset。 
EX: 
<% 
set Conn=Server.CreateObject("ADODB.Connection") 
Conn.open "Provider=SQLOLEDB;Password=xiaolu;User ID=sa;Database=Test;Data Source =127.0.0.1" 
conn.execute "update Table1 set Col1='123'",RowsAffected,&H0001 
Response.Write RowsAffected&" 行受到影响" 
Conn.close 
Set Conn=Nothing 
%> 
A: 
ADOPENFORWARDONLY(=0) 
只读,且当前数据记录只能向下移动 
ADOPENKEYSET(=1) 
只读,当前数据记录可自由移动 
ADOPENDYNAMIC(=2) 
可读写,当前数据记录可自由移动 
ADOPENSTATIC(=3) 
可读写,当前数据记录可自由移动,可看到新增记录 
B: 
ADLOCKREADONLY(=1) 
缺省锁定类型,记录集是只读的,不能修改记录 
ADLOCKPESSIMISTIC(=2) 
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。 
ADLOCKOPTIMISTIC(=3) 
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。 
ADLOCKBATCHOPTIMISTIC(=4) 
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。 
当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。 
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间, 
数据在这段时间被更新。这减少了资源的使用。 
C:(指定SQL语句类型) 
ADCmdUnknown (= &H0008) 
未知,需要系统来判断,速度慢,为缺省值 
ADCmdText (= &H0001) 
命令语句如SQL语句 
如:Select * from Table1 
ADCmdTable (= &H0002) 
查询的表名称,例如:Table1 
ADCmdStoredProc (= &H0004) 
存储过程名称 
ADCmdFile (= &H0100) 
对象类型相应的文件名称 
ADCmdTableDirect (= &H0200) 
是能直接从表中获取行内容的表名称
conn.execute(sql)(0)为数据集的第一个字段的值