首页 > 编程学习 > conn.execute

conn.execute

发布时间:2022/6/23 23:34:36

conn.execute("select id,title,content from document where id=1")(0) 取id
conn.execute("select id,title,content from document where id=1")(1) 取title
conn.execute("select id,title,content from document where id=1")(2) 取content

t = conn.execute(sql)(0)
相当于
set rs = conn.execute(sql)
t = rs(0)

 

(1) wzcount = conn.execute ("select count(id) from `table1`",0,1)(0)
请问execute后面两个参数是什么意思?最后的那个0是什么意思?

(2) set conn = server.createobject("adodb.connection")
set rs = server.createobject("adodb.recordset")
rs.open rssql,conn,1,1,&h0001
最后的&h0001是干什么的?


解答:
    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)是能直接从表中获取行内容的表名称

转载于:https://www.cnblogs.com/291099657/archive/2008/09/18/1293687.html

Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000