如何用command调用存储过程(输入、输出参数)?
====================================
ADODB.Command 错误 '800a0bb9'
变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。
/test.asp,行10
==========================================================================
CREATE PROCEDURE dbo.guoyy2 @par1 int
AS
declare @all_count int
select @all_count=count( *) from produce1 where par1=@par1
select * from produce2
return
GO
========================================================
<!-- #include virtual="/inc/header.inc" -->
<%
dim rs
set cmd=server.CreateObject("adodb.command")
cmd.ActiveConnection=conn
'cmd.CommandType=4
'cmd.CommandText="guoyy1"
'Cmd.CommandText = "{call guoyy1(?,?,?,?)}"
Cmd.CommandText = "{call guoyy2(?)"
Cmd.Parameters.Append Cmd.CreateParameter("@par1",adInt,adParamInput)
Cmd("@par1")=1
set rs=cmd.Execute
if rs.eof then
Response.Write "目前已超过了纪录个数或纪录集为空!"
Response.End
end if
do while not rs.eof
response.write rs(0)
rs.movenext
loop
%>
问题点数:22、回复次数:4Top
1 楼lansilot(兰斯洛)回复于 2001-10-23 19:28:29 得分 22
先声明常量
const adCmdStoredProcedure=&H0004
const adParamInput=&H0001
const adParamOutput=&H0002
Const adVarChar=200
const adInteger=3
const adCmdText=&h0001
const adUseClient=3
const MaxPageSize=10
set conn=server.CreateObject("ADODB.Connection")
conn.Connectionstring="DSN=devinfo;uid=network;pwd=guest;" '连接参数
conn.Open
set comm=server.CreateObject("ADODB.Command") '建立COMMAND对象
comm.ActiveConnection=conn '活动连接打开
comm.CommandText="lzq.Proc_select" 'lzq.Proc_select是存储过程名字
comm.CommandType=adCmdStoredProcedure '见上面的常量定义,表示调用的是存储过程
set id=comm.CreateParameter(id,adVarChar,adParamInput,10) '传入参数声明
id.value="JoinManage" '参数赋值,如果是传入参数就 不需要赋值
comm.parameters.append id '加入参数
。。。。
comm.execute '执行存储过程Top
2 楼linuxguoyy(爱拼才会赢)回复于 2001-10-24 09:13:15 得分 0
不行,报错
ADODB.Parameters 错误 '800a0e7c'
Parameter 对象被不正确地定义。提供了不一致或不完整的信息。
/test.asp,行19
Top
3 楼linuxguoyy(爱拼才会赢)回复于 2001-10-24 09:54:53 得分 0
to lansilot 谢谢!通过了Top
4 楼xiaoshi(累)回复于 2002-01-17 10:42:46 得分 0
收藏Top




