asp_databases thread: Error Number: -2147217904 (OLE DB provider for ODBC driver)
Hi,
I am using the exact code from "beginning ASP databases", and I have the
following error message.
----------------------------------------------------------------
Description: No value given for one or more required parameters.
Help Context: 0
Help File:
Error Number: -2147217904
Error Source: Microsoft OLE DB Provider for ODBC Drivers
----------------------------------------------------------------
It is strange because I have created a parameter for the return
value. Since I just started writing ASP, I have a hard time figuring out
what wrong with it. I am having trouble with command objects and stored
procedure which uses parameters. Stored procedure without parmaters seems
work fine. I appreciate it if anybody help me out. Thanks.
My SQL code
----------------------------------------------------------------
ALTER procedure up_select_count_of_boats AS
DECLARE @count INT
SELECT @count = count(boatsid) FROM boats
RETURN @count
GO
----------------------------------------------------------------
My ASP code
----------------------------------------------------------------
on error resume next
dim objConn
set objConn = server.CreateObject ("ADODB.Connection")
objConn.Open "DSN=sailors;UID=sailors;PWD=PW"
'call CheckForErrors (objConn, "Conn")
call wrtErr ("Conn")
dim adCmdStoredProc
dim adInteger
dim adParamReturnValue
adCmdStoredProc = 4
adInteger = 3
adParamReturnValue = 4
'create command object
dim objCmd
set objCmd = server.CreateObject ("ADODB.command")
'create parameter object
dim objParm
set objParm = server.CreateObject ("ADODB.parameter")
'assigning value
set objCmd.ActiveConnection = objConn
objCmd.CommandText = "{? = call dbo.up_select_count_of_boats}"
objCmd.CommandType = adCmdStoredProc
'set and append parameter
set objParm = objCmd.CreateParameter ("Return", adInteger,
adParamReturnValue, ,0)
objCmd.Parameters.Append objParm
Response.Write "parameter return: " & objCmd ("return")
objCmd.Execute
call wrtErr ("Cmd")
Response.Write "After: parameter return: " & objCmd ("return")
Response.Write "There are " & objCmd.Parameters.Item("Return").Value & _
" Registered Boats Listed"
set objParm = nothing
set objCmd = nothing
objConn.Close
set objConn = nothing