我有一个具有2个参数的存储过程。 当我在SQL中运行SP时,它按预期返回值。 当我在我的ASP页面(不是asp.net)中调用SP时,它会挂起。 我有另一个SP只需要一个参数,当我从我的ASP页面调用这个时,它按预期工作。 这是我使用调用SP用2个参数的代码: 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
这是ASP呼叫对于单个参数SP的作品:
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
我自己也尝试了多个参数SP没有返回值线。 任何想法
看起来像一个商家服务应用程序:)无论如何,你传递了什么值?我没有看到确切数值的例子。问题可能在于你传递了什么以及SQL如何期望与SP一起。 – RogueSpear00 2012-03-07 15:38:06
我发送给每个参数的数字字符串,当我在sql(相同的数据)中运行它们时,它会返回预期的结果。我有另一个SP完全相同的事情(这意味着它从页面调用时挂起,但在SQL中工作),我有一个存储Proc作为注意到的工作正常。 – 2012-03-07 15:45:05
哪一部分是解决方案?它是'Execute'还是'NULL'? – RogueSpear00 2012-03-08 14:57:36