Är det någon som har en lösning på detta... varför känner inte proceduren av den parrameter jag försöker ge? Gissar du dig till konstanterna? Återigen.. tusen tack.. allt löst.. är lite nybörjare så jag hade inte koll på konstanerna riktig :) Fick en god lektion.Problem med parametrar till procedur
felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Procedure 'pr_hej1' expects parameter '@id', which was not supplied.
select_with_parameter.asp, line 27
obs: line 27 längst ned
Dim cmd
Dim strConnect
Dim paraValue
Const adInteger = 2
const adParamInput = 1
const adExecuteNoRecords = 1
const adCmdStoredProc = 1
strConnect = "Driver={SQL Server};Server=Viking;DATABASE=Community;UID=kalle;password=kalle"
set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = strConnect
cmd.commandText="pr_hej1"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("@id", adInteger, adParamInput)
cmd.parameters("@id") = request.Form("user")
cmd.Execute, , adExecuteNoRecordsSv: Problem med parametrar till procedur
Om du skriver APS sidor kan du slippa deklarera konstanterna genom att peka på vard det finns deklarerade:
<code>
<!--METADATA TYPE="typelib" NAME="ADODB Type Library" UUID="00000205-0000-0010-8000-00AA006D2EA4" -->
<%
Dim cmd
Dim Connect
Dim paraValue
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={SQL Server};" & _
"Server=Viking;" & _
"DATABASE=Community;" & _
"UID=kalle;" & _
"password=kalle"
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = Connect
cmd.commandText = "pr_hej1"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("@id", adInteger, adParamInput)
cmd.Parameters("@id") = 1 'request.Form("user")
cmd.Execute , , adExecuteNoRecords
Connect.Close
Set Connect = Nothing
%>
</code>
Annars får du manuellt deklarera dem eller referera till dem på annat sätt:
<code>
Dim cmd
Dim Connect
Dim paraValue
Const adInteger = 3
Const adParamInput = 1
Const adExecuteNoRecords = 128
Const adCmdStoredProc = 4
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={SQL Server};" & _
"Server=Viking;" & _
"DATABASE=Community;" & _
"UID=kalle;" & _
"password=kalle"
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = Connect
cmd.commandText = "pr_hej1"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("@id", adInteger, adParamInput)
cmd.Parameters("@id") = 1 'request.Form("user")
cmd.Execute , , adExecuteNoRecords
Connect.Close
Set Connect = Nothing
%>
</code>
Jag vill uppmärksama dig på att börja använda connection objektet. Eller frigöra dina anslutning:
<code>
Dim cmd
Dim Connect
Dim paraValue
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = "Driver={SQL Server};" & _
"Server=Viking;" & _
"DATABASE=Community;" & _
"UID=kalle;" & _
"password=kalle"
cmd.commandText = "pr_hej1"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("@id", adInteger, adParamInput)
cmd.Parameters("@id") = 1 'request.Form("user")
cmd.Execute , , adExecuteNoRecords
cmd.ActiveConnection.Close
Set cmd.ActiveConnection = Nothing
%>
</code>Sv: Problem med parametrar till procedur