Försöker hämta en varchar (varchar2 i oracle) som returneras från en funktion i databasen... men jag verkar inte få sätta adVarChar på returparametern Det var inte det som var fel...Hämta returen från en StoreProcedure
<code>
sql = "{ ? = call skaparad(?,?) }"
set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = OBJdbConnection
cmd.commandText = sql
cmd.commandType = adCmdText
cmd.Parameters.Append cmd.CreateParameter("retval", adVarChar, adParamReturnValue)
cmd.Parameters.Append cmd.CreateParameter("@avtal", adInteger, adParamInput, 40, Replace(Session("avtalnr"),"'", "''"))
cmd.Parameters.Append cmd.CreateParameter("@artnr", adVarChar, adParamInput, 10, Replace(Session("artnr"),"'", "''"))
cmd.execute
retValue = cmd("retval")
Response.write retValue & "<br>"
Set cmd = nothing
</code>
Är det så att man inte får göra så eller vad är det som är fel?Sv: Hämta returen från en StoreProcedure
Testa att deklarera konstanterna:
<code>
Const adCmdText = 1
Const adInteger = 3
Const adVarChar = 200
Const adParamInput = 1
Const adParamReturnValue = 4
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = OBJdbConnection
cmd.commandType = adCmdText
cmd.commandText = "{ ? = call skaparad(?,?) }"
cmd.Parameters.Append cmd.CreateParameter("retval", adVarChar, adParamReturnValue)
cmd.Parameters.Append cmd.CreateParameter("@avtal", adInteger, adParamInput, 40, Replace(Session("avtalnr"),"'", "''"))
cmd.Parameters.Append cmd.CreateParameter("@artnr", adVarChar, adParamInput, 10, Replace(Session("artnr"),"'", "''"))
cmd.Execute
retValue = cmd("retval")
Response.Write retValue & "<br>"
Set cmd = nothing
</code>Sv: Hämta returen från en StoreProcedure
Funkar nu tror jag.. var VarChar som Oracle inte gillade... kör jag med en BSTR så funkar det...