asp执行sql语句、存储过程的几种方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jewely/article/details/84756060

使用connection对象

会返回一个关闭的recordset记录集,此记录集不要再次声明关闭
建议在update、insert、delete时使用

strCon="provider=sqloledb;data source=servername;initial catalog=databasename;uid=username;pwd=password"
set conn=server.CreateObject("adodb.connection")
conn.open strCon
conn.begintrans '事务开始
conn.execute(sql),num 'num表示update、insert、delete影响的行数
conn.committrans '事务提交
conn.rollbacktrans '事务回滚
set rs=conn.execute("sp_XXXX",参数1,参数2) '执行存储过程sp_XXXX,是否返回记录集可选
conn.close
set conn=nothing

使用recordset对象

返回一个recordset记录集,建议查询时使用

set rs=server.CreateObject("adodb.recordset")
rs.open sql,strCon,1,1
do while not rs.eof '循环读取记录集
	xx=rs("filename") '读取记录集中filename字段
	rs.movenext
loop
rs.close
set rs=nothing

使用command对象

建议存储过程使用
创建存储过程的参数对象命令,参数数量根据不同类型而有所变化:
Set parameter = command.CreateParameter (Name, Type, Direction, Size, Value)
Name-参数名,Type-参数数据类型,Direction-参数类型,Size-长度(可选),Value-参数值(可选)

set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
conn.open strCon
set cmd.ActiveConnection=conn
cmd.CommandText="sp_XXXX" '存储过程名
cmd.CommandType=4 '命令类型:1-普通命令,2-表名,4-存储过程

'输入参数:参数名、参数数据类型、参数类型(输入参数)
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput)
cmd(“@aaa”)=100 '给输入参数赋值

'输出参数:参数名、参数数据类型、参数类型(输出参数)
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)

'返回值:只能整数
cmd.Parameters.Append cmd.CreateParameter("@return_value",adInteger,adParamReturnValue )
 
cmd.Execute() '执行存储过程

bbb=cmd(“@bbb”) '获取输出值
rrr=cmd(“@return_value”) '获取返回值

指明参数类型时可使用类型名或者序号

Type-参数数据类型

类型 序号 说明
adDBTimeStamp 135 日期时间数据类型
adDecimal 14 十进制整数值
adDouble 5 双精度小数值
adError 10 系统错误信息
AdGUID 72 全域性唯一识别字(Globally unique identifier)
adDispath 9 COM/OLE自动对象(Automation Object)
adInteger 3 4字节有符号整数
adIUnknown 13 COM/OLE对象
adLongVarBinary 205 大型2字节值
adLongVarChar 201 大型字符串值
adLongVarWChar 203 大型未编码字符串
adNumeric 131 十进制整数值
adSingle 4 单精度浮点小数
adSmallInt 2 2字节有符号整数
adTinyInt 16 1字节有符号整数
adUnsignedBigInt 21 8字节无符号整数
adUnsignedInt 19 4字节无符号整数
adUnsignedSmallInt 18 2字节无符号整数
adUnsignedTinyInt 17 1字节无符号整数
adUserDefined 132 用户自定义数据类型
adVariant 12 OLE对象
adVarBinary 204 双字节字符变量值
adVarChar 200 字符变量值
advarchar 202 未编码字符串变量值
adWchar 130 未编码字符串

Direction-参数类型

类型 序号 说明
adParamInput 1 允许数据输入至该参数当中
adParamOutput 2 允许数据输出至该参数当中
adParamInputOutput 3 允许数据输入、输出至该参数当中
adparamReturnValue 4 允许从一子程序中返回数据至该参数当中

存储过程部分参考:
ASP调用存储过程访问SQL Server
Asp调用存储过程,command.CreateParameter 参数值的类型说明

猜你喜欢

转载自blog.csdn.net/jewely/article/details/84756060
今日推荐