Exception - Variable names must be unique within a query batch or stored procedure
 
Author:
Filed Under: Issues and Exceptions
Published Date: May 22, 2009
Views: 3980
 

Abstract: Here Mudassar Ahmed Khan has explained the Exception The variable name has already been declared. Variable names must be unique within a query batch or stored procedure in ASP.Net

Comments:  1

 

Server Error in '/ADO.Net' Application.


The variable name '@param' has already been declared. Variable names must be unique within a query batch or stored procedure.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: The variable name '@param' has already been declared. Variable names must be unique within a query batch or stored procedure.

 

Cause

This error occurs when SQL server finds two variables or parameters of same name and hence the ADO.Net class throws the above exception.

 

Solution

1. If you are running a loop and using the same command object to insert data add this statement

cmd.Parameters.Clear()

 

2.  Check if you have not passed the same parameter twice like

cmd.Parameters.AddWithValue("@city", txtCity.Text.Trim());
cmd.Parameters.AddWithValue("@city", txtCity.Text.Trim());

 

3. If using stored procedure check if you have duplicate variables if you found remove them.

For example

DECLARE @CustID varchar(10)

SET @CustID= 'ALFKI'

SELECT *FROM Customers WHERE CustomerID = @CustID

DECLARE @CustID varchar(50)


The above query will give the same error.

If anyone else some other solutions that helped them, please share.









Related Articles



Comments



Add comments

You can add your comment about this article using the form below. Make sure you provide a valid email address
else you won't be notified when the author replies to your comment

Please note that all comments are moderated and will be deleted if they are
  • Not relavant to the article
  • Spam
  • Advertising campaigns or links to other sites
  • Abusive content.
Please do not post code, scripts or snippets.

Name*: Required
Email*: Required
Comment*: Required
Security code*: CaptchaInvalid Security Code
  Submit