4. 执行SQL Connection对象还能执行SQL语句。Connection对象的Execute方法能用来执行一条SQL语句并返回Recordset对象,如程序清单6.8。 (7) 程序清单6.8: 通过Connection 对象执行SQL,没有返回结果。 '---创建Connection对象 Set objConn = Server.CreateObject( "ADODB.Connection " ) '---通过存储在Application中连接字符串打开连接 ObjConn.Open Application("ConnString") '---通过Connection对象执行一条SQL语句 ObjConn.Execute "UPDATE titles SET price = price * 1.1" 程序清单6.8执行SQL且没有返回Recordset对象。这就是ADO1.5与ADO2.0 差别之处:ADO 1.5返回一个Recordset对象,无论有无数据都返回给应用。在ADO2.0中,就可以用Execute方法的参数设定是否返回Recordset。为此,只要将adExecuteNoRecords值加到Execute方法的Options参数即可,如程序清单6.8。 Connection对象的Execute方法有三个参数如下: Connection.Execute CommandText、RecordsAffected、Options 其中 ・ CommandText可以是SQL语句、表名或要执行的存储过程(如果是表则打开)。 ・ RecordsAffected 是个传值参数,返回受CommandText作用的记录数。如果执行某一查询,该参数返回受查询作用的记录数。 ・ Options 参数允许指定一些选项,如进行异步取或CommandText的表示等。 (8) 程序清单6.9:从Connection 对象返回一个Recordset。 '---创建Connection对象 Set objConn = Server.CreateObject( "ADODB.Connection " ) '---创建数据集对象 set objRS = Server.CreateObject("ADODB.Recordset") '---通过存储在Application中连接字符串打开连接 objConn.Open Application("ConnString") strSQL = "SELECT * FROM titles" '---通过Connection对象执行一条SQL语句,并将结果集返回 set objRS = objConn.Execute(strSQL) 当然,如果希望返回一个Recordset,可以将一个Recordset加入变量,如程序清单6.9所示。 |