Print Page | Close Window

Stored procedure error -- please help

Printed From: Web Wiz Forums
Category: General Discussion
Forum Name: Database Discussion
Forum Description: Discussion and chat on database related topics.
URL: https://forums.webwiz.net/forum_posts.asp?TID=10632
Printed Date: 30 March 2026 at 12:10pm
Software Version: Web Wiz Forums 12.08 - https://www.webwizforums.com


Topic: Stored procedure error -- please help
Posted By: stephen
Subject: Stored procedure error -- please help
Date Posted: 27 May 2004 at 12:47pm

I am trying to get a returned value from the stored procedure below

CREATE PROC insert_and_return_id
(
    @parameter1 varchar,
    @parameter2 varchar
 
)
AS
DECLARE @newID int
SELECT @newID = 0

INSERT INTO tbltest (field1, field2)
VALUES (@parameter1, @parameter2)

 IF(@@ROWCOUNT > 0)
BEGIN
    SELECT @newID = @@IDENTITY
END

RETURN @newID
GO

___________________________

My asp Code looks like this

___________________________

Function InserTest(value1, value2)
 Dim objConn, objRs, objCmd

    '  Create a connection to the database
    Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.open "DSN=" & CONNECTION_STRING

    ' Create the query command
    Set objCmd = Server.CreateObject("ADODB.Command")
    Set objCmd.ActiveConnection = objConn
    objCmd.CommandText = "insert_and_return_id"
    objCmd.CommandType = adCmdStoredProc
 ' Create the parameter for output and returned valueand populate it
    objCmd.Parameters.Append objCmd.CreateParameter("parameter1", adVarChar, adParamInput, 255, value1)
 objCmd.Parameters.Append objCmd.CreateParameter("parameter2", adVarChar, adParamInput, 255, value2)
    objCmd.Parameters.Append objCmd.CreateParameter("newID", adInteger, adParamReturnValue, 4)
 
 objCmd.Execute objCmd0
    response.write objCmd.Parameters("newID")
 'objCmd.Close
End Function

 

And I get the following ASP Error

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Procedure or function insert_and_return_id has too many arguments specified.
/netwasp/tester.asp, line 62

 

I only just started to use sp's hence it might be something really simple, Can anyone help, cheers?

 




-------------
"Doing easily what others find difficult is talent; Doing what is impossilbe for talent is genius." -- Henri Frederic Amiel ( 1828-1881)
http://www.121People.com - www.121People.com



Replies:
Posted By: Mart
Date Posted: 27 May 2004 at 2:56pm
Well you have only set 2 parameters in your sp (parameter1 and parameter2) but you have supplied an extra one (newID) in the ASP script - either edit your sp or remove that parameter


Posted By: psycotik
Date Posted: 01 June 2004 at 8:57am

Another way of doing it might be:

CREATE PROC insert_and_return_id (
  @parameter1 varchar,
  @parameter2 varchar,
  @newID int = 0 OUTPUT 
)
AS

INSERT INTO tbltest (field1, field2)
VALUES (@parameter1, @parameter2)

IF(@@ROWCOUNT > 0)
BEGIN
    SELECT @newID = @@IDENTITY
END

GO

Then in your asp:

Set objCmd = Server.CreateObject("ADODB.Command")
    Set objCmd.ActiveConnection = objConn
    objCmd.CommandText = "insert_and_return_id"
    objCmd.CommandType = adCmdStoredProc
 ' Create the parameter for output and returned valueand populate it
    objCmd.Parameters.Append objCmd.CreateParameter("parameter1", adVarChar, adParamInput, 255, value1)
 objCmd.Parameters.Append objCmd.CreateParameter("parameter2", adVarChar, adParamInput, 255, value2)
 
 objCmd.Execute objCmd0
    response.write objCmd.Parameters("@newID")
 'objCmd.Close

ps. there might by a slight error in my syntax as i didnt test this




Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.08 - https://www.webwizforums.com
Copyright ©2001-2026 Web Wiz Ltd. - https://www.webwiz.net