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

使用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-参数数据类型

类型序号说明
adDBTimeStamp135日期时间数据类型
adDecimal14十进制整数值
adDouble5双精度小数值
adError10系统错误信息
AdGUID72全域性唯一识别字(Globally unique identifier)
adDispath9COM/OLE自动对象(Automation Object)
adInteger34字节有符号整数
adIUnknown13COM/OLE对象
adLongVarBinary205大型2字节值
adLongVarChar201大型字符串值
adLongVarWChar203大型未编码字符串
adNumeric131十进制整数值
adSingle4单精度浮点小数
adSmallInt22字节有符号整数
adTinyInt161字节有符号整数
adUnsignedBigInt218字节无符号整数
adUnsignedInt194字节无符号整数
adUnsignedSmallInt182字节无符号整数
adUnsignedTinyInt171字节无符号整数
adUserDefined132用户自定义数据类型
adVariant12OLE对象
adVarBinary204双字节字符变量值
adVarChar200字符变量值
advarchar202未编码字符串变量值
adWchar130未编码字符串

Direction-参数类型

类型序号说明
adParamInput1允许数据输入至该参数当中
adParamOutput2允许数据输出至该参数当中
adParamInputOutput3允许数据输入、输出至该参数当中
adparamReturnValue4允许从一子程序中返回数据至该参数当中

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值