ASP调用存储过程参数问题
这一段怎么回事?错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Procedure 'AddComment1' expects parameter '@Manner', which was not supplied.
/postComment.asp, line 51
开始是说@Type有问题,我把iType和Manner调了个个,又说Manner有问题。谁换到后面谁有问题。
<!--#include file="const.inc"-->
<!--#INCLUDE VIRTUAL="/msadc/adcvbs.inc"-->
<%
dim con
dim cmd
dim rs
dim aTopic
Set con=Server.CreateObject("ADODB.Connection")
Con.Open INS_CONNECTIONSTRING
set cmd=Server.CreateObject("ADODB.Command")
'response.write (cmd is nothing)
cmd.ActiveConnection=Con
cmd.CommandText="AddComment1"
cmd.CommandType = 4 'AdCmdStoredProc
'3-adInteger
'4-adParamReturnValue
'1-adParamInput
'2-adParamOutput
'200-adVarchar
'command.CreateParameter (Name, Type, Direction, Size, Value)
cmd.Parameters.Append cmd.CreateParameter("ReturnCode",3,4)
cmd.Parameters.Append cmd.CreateParameter("TempUserID",3,1,4)
cmd.Parameters("TempUserID")=cint(Request( "TempUserID" ))
cmd.Parameters.Append cmd.CreateParameter("Url",200,1,4000)
cmd.Parameters("Url")=Request( "Url" )
cmd.Parameters.Append cmd.CreateParameter("Title",200,1,100)
cmd.Parameters("Title")=Request( "Title" )
cmd.Parameters.Append cmd.CreateParameter("Content",200,1,4000)
cmd.Parameters("Content")=Request( "Content" )
cmd.Parameters.Append cmd.CreateParameter("ParentID",3,1,4)
cmd.Parameters("ParentID")=cint(Request( "ParentID" ))
cmd.Parameters.Append cmd.CreateParameter("Type",3,1,4)
cmd.Parameters("Type")=Request( "iType" )
cmd.Parameters.Append cmd.CreateParameter("Manner",3,1,4)
cmd.Parameters("Manner")=Request( "Manner" )
cmd.Parameters.Append cmd.CreateParameter("CommentID",3,2,4) '输出参数
cmd.Execute '此行为出错行
。。。。以下略
问题点数:123、回复次数:2Top
1 楼leslielu(leslielu)回复于 2000-06-30 11:23:00 得分 60
何苦?直接用
cmd.Parameters(1)=value
cmd.Parameters(2)=......
输出参数也一样,在用完.execute后相应的Parameters(n)会返回值。Top
2 楼willzzq(小周)回复于 2000-07-02 20:36:00 得分 63
我是这样做的没有写那么多代码。
首先在SQL Server中建立存储过程:(一个小例子)
Create Procedure ABCSP
@iID int
@cName char(10)
AS
select * from ATABLE where i_ID=@iID and c_Name=@cName
然后在ASP中调用
...
iID = Request.Form("...")
cName= Request.Form("...")
sql = "exec dbname.dbo.ABCSP where i_ID="&CStr(iID)&" and c_Name='"&cName&"'"
conn.Execute (sql)
OK
Top




