如何调用存储过程并向存储过程中传递参数 然后接受返回值 来进行判断

xiaoruifeng 2003-09-06 10:22:36
最好是有程序源代码样例 谢谢~~~ 我研究了好多天 我们这里这方面的书不是很多 要不各位介绍本关于这方面的书也好........
...全文
224 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianzhipachong 2003-09-06
  • 打赏
  • 举报
回复
也可去网上search一下
qianzhipachong 2003-09-06
  • 打赏
  • 举报
回复
ASP使用存储过程实例
<%
const adInteger=3
const adVarchar=202
const adDBTimeStamp=135
const adCmdStoredProc=4
const adParamInput=1
if request.servervariables("request_method")="post" then
dim strsql
dim conn,studentrs
dim strconn
set conn=server.createobject("adodb.connection")
set cmd=server.createobject("adodb.command")
conn.open"dsn=student;uid=sa;pwd=sa"
set cmd.ActiveConnection=conn

'给command对象传递存储过程的名称
cmd.CommandText="insert_Students_1"
cmd.CommandType=adcmdstoredproc

'为command对象设置参数
cmd.Prepared=true
cmd.Parameters.Append_
cmd.createparameter("@Name_2",advarchar,adparaminput,10,request.form("name"))
'执行存储过程
cmd.Execute
conn.close
set conn=nothing
%>
Brookes 2003-09-06
  • 打赏
  • 举报
回复
调用数据库存储过程
< %Set Dataconn = Server.CreateObject('ADODB.Connection')
'建立连接对象
Dataconn.Open 'DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;
APP=Microsoft® Developer Studio;WSID=APP_SERVER;Regional=Yes'
Set cmdTemp = Server.CreateObject('ADODB.Command')
'建立命令对象
Set rst = Server.CreateObject('ADODB.Recordset')
'建立记录集对象
cmdTemp.CommandText = 'dbo.pd_test' '存储过程名称
cmdTemp.CommandType = 4
'命令类别为4,表示为存储过程
Set cmdTemp.ActiveConnection = Dataconn
Set tmpParam = cmdTemp.CreateParameter('Return Value', 3, 4, 4)
cmdTemp.Parameters.Append tmpParam
Set tmpParam = cmdTemp.CreateParameter('@BeginDate', 135, 1, 16, riqi)

'创建输入参数对象
cmdTemp.Parameters.Append tmpParam
rst.Open cmdTemp, , 1, 3
'生成查询结果
% >
这里调用的存储过程为pd_test,这种是ADO中提供的标准方法,但存在一个问题,就是当在存储过程中有两个

以上的SELECT语句,但从逻辑上又不可能同时执行的时候,ADO会提示你存储过程中SELECT语句太多,解决方法

是直接用ADO的CONNECTION对象的EXECUTE方法直接执行存储过程,如下:
< %
Set Dataconn = Server.CreateObject('ADODB.Connection')
'建立连接对象
Dataconn.Open 'DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft® Developer

Studio;WSID=APP_SERVER;Regional=Yes'
ss = 'EXECUTE dbo.pd_test ' & ''' & riqi1 & '''
Set rs = dataconn.Execute(ss)
% >
xieyj 2003-09-06
  • 打赏
  • 举报
回复
例存储过程:
Create proc dbo.yourProce(@par1 varchar(10),@par2 varchar(2))
as
select * from sysobjects where name = @par1 and type=@par2
go

ASP调用:
set rs=server.createobject("adodb.recordset") rem 创建一个RECORDSET
rs.open "exec dbo.yourProce '"&参数一&"','"&参数二&"'",yourconn rem 执行存储过程
if not rs.eof then
response.write "共找到"&rs.recordcount&"条记录!"
end if
rs.close rem 关闭存储过程
set rs=nothing rem 释放
xiaoruifeng 2003-09-06
  • 打赏
  • 举报
回复
各位 返回值如何接收 ?
怎么都是只有调用 没有接收返回值的方法啊

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧