程序员人生 网站导航

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

栏目:php教程时间:2014-06-09 20:15:22
 

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

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐