我有一个包含2个参数的存储过程。当我在SQL中运行SP时,它会按预期返回值。 当我在我的ASP页面(不是asp.net)中调用SP时,它会挂起。 我有另一个SP只有一个参数,当我从我的ASP页面调用它时,它按预期工作。 这是我用来用2个参数调用SP的代码: MID = Request.Form(“MID”) CardNoString = Request.Form(“FullCardNo”)
set connUBC3=Server.CreateObject("ADODB.Connection")
connUBC3.Open "UBC"
If Err.number <> 0 then
TrapError Err.source & ": " & Err.description
End If
set cmdTranByCardNo = Server.CreateObject("ADODB.Command")
With cmdTranByCardNo
.ActiveConnection = connUBC3
.CommandText = "BlahBlah_Transaction_GetByMerchantIdAndCardNo"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter ("RETURN_VALUE", adInteger, adParamReturnValue)
.Parameters.Append .CreateParameter ("@MerchantID", adVarChar, adParamInput, 20, MID)
.Parameters.Append .CreateParameter ("@CardNo", adVarChar, adParamInput, 20, CardNoString)
set SearchTranByCardNoRS = .Execute
If Err.number <> 0 then
TrapError Err.source & ": " & Err.description
End If
End With
这是单个参数SP的ASP调用:
set connUBC3=Server.CreateObject("ADODB.Connection") connUBC3.Open "UBC" If Err.number <> 0 then TrapError Err.source & ": " & Err.description End If
cmdFindTrans2 = "BlahBlah_Transaction_GetLast10ByMerchantId '" & MID & "'" set SearchTranByCardNoRS = connUBC3.Execute(cmdFindTrans2) If Err.number <> 0 then TrapError Err.source & ": " & Err.description End If
我还尝试了没有Returnvalue行的多参数SP。 任何想法
答案 0 :(得分:0)
set SearchTranByCardNoRS = Something.Execute
这里没有要执行的命令。
cmd.Parameters(1) = x1
cmd.Parameters(2) = x2
cmd.Parameters(3) = x3
cmd.Execute
另外,我会验证您是否未通过脚本将任何NULLS
传递给SQL。这也可能会绊倒它。