Below is my SP stored in MSSQL server.
USE [testdb]
GO
/****** Object: StoredProcedure [dbo].[insertSerial] Script Date: 11/05/2012 16:38:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[insertSerial]
AS
DECLARE @start int
DECLARE @end int
DECLARE @expdate datetime
BEGIN TRAN
WHILE @start < @end
BEGIN
INSERT tbl_serial VALUES (@start, @expdate)
SET @start = @start + 1
END
COMMIT TRAN
and then I try to call the SP from my ASP.NET application like this –
SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["connstr"].ConnectionString);
SqlCommand cmd = new SqlCommand("insertSerial", sqlconn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@start", txtStart.Text);
cmd.Parameters.AddWithValue("@end", txtEnd.Text);
cmd.Parameters.AddWithValue("@expdate", System.DateTime.Now);
try
{
sqlconn.Open();
cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{
lblStatus.Text = ex.Message;
}
finally
{
sqlconn.Close();
}
Then I got this Procedure insertSerial has no parameters and arguments were supplied. error. Is it because the way I declare parameters in SP is incorrect? If so, how do I fix them?
The sp is invalid sql
This is how to declare params
ALTER PROCEDURE [dbo].[foo]@bar INT
AS
BEGIN