2011-12-06 32 views
0

如何從sproc中返回一個值並將其分配給一個變量,以便它可以在ASP頁面上使用?ASP返回sproc的OUTPUT值

返回值的存儲過程稱爲sp_Auction_PaymentEwayXMLReceive。 輸出變量名爲ReturnedMsg

我當前的代碼是:

Dim Connection 
Dim sSQL, sConnString 
sConnString="DRIVER={SQL Server};SERVER=XXXX;UID=XXXX; PWD=XXXX;DATABASE=XXXX;" 
    sSQL = "sp_Auction_PaymentEwayXMLReceive '"&eWay.ResultEwayTrxnStatus&"','"&eWay.ResultEwayTrxnNumber&"','"&eWay.ResultEwayTrxnReference&"','"&eWay.ResultEwayTrxnOption1&"','"&eWay.ResultEwayTrxnOption2&"','"&eWay.ResultEwayTrxnOption3&"','"&eWay.ResultEwayAuthCode&"','"&eWay.ResultEwayReturnAmount&"','"&eWay.ResultEwayTrxnError&"' " 
    Set sConnection = Server.CreateObject("ADODB.Connection") 
    Set connection = Server.CreateObject("ADODB.Connection") 
    connection.Open(sConnString) 
    connection.execute(sSQL) 

- 編輯 - @Andomar

再回應1:我也試過,但我得到一個500錯誤。


      'set up output parameter 
      dim outputParameter 
      set outputParameter = _ 
      cmd.CreateParameter("ReturnedMsg",adVarChar, _ 
      adParamOutput,40) 

      'open conn 
      connection.Open(sConnString) 

      'append OUTPUT 
      cmd.Parameters.Append outputParameter 

      'exec sql 
      connection.execute(sSQL) 

-R

+0

當您提出問題時,請格式化您的代碼片段。這可以使用編輯器上方的{}符號來完成。 –

+0

請以適當的間距格式化您的查詢。 –

回答

0

在創建連接之後,添加一個輸出參數:

dim outputParameter 
set outputParameter = _ 
    cmd.CreateParameter("OutputParameterName",adVarChar, _ 
    adParamOutput,40) 
cmd.Parameters.Append outputParameter 

運行SP之後,可以使用的值,如:

Response.Write("<TD>" & _ 
    cmd.Parameters("OutputParameterName").Value & "</TD>") 
+0

這看起來不錯。我還試過,但看起來不錯。我曾經這麼做過。非常感謝您的幫助。 – Rya

+0

我複製了第一個代碼塊,並將OutputParameterName更改爲ReturnedMsg(因爲這是sproc中的輸出變量),但我看到的只是500錯誤。有任何想法嗎?請參閱編輯的文章... – Rya

+0

我是否需要更改sSQL行? – Rya

相關問題