技术开发 频道

新手学堂:rs.open与conn.execute详细解释

  【IT168 技术文档】

  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。

<% 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)为数据集的第一个字段的值

0
相关文章