I am using dapper, I got the following error message “Procedure or function has too many arguments specified” while inserting data into database.
To Insert data into database using dapper c# .In business logic I have written code like this,
public void AddDepartment(DepartmentModel objDepartment)
{
//Addingthe Department
try
{
connection();
con.Open();
con.Execute("usp_insertDepartment", objDepartment, commandType: CommandType.StoredProcedure);
con.Close();
}
catch (Exception ex)
{
throw ex;
}
}
This is my SQL stored procedure,
CREATE PROCEDURE [dbo].[usp_insertDepartment]
(
@Name VARCHAR (50),
@Description VARCHAR (50)
)
AS
BEGIN
INSERT INTO Department (Name,[Description]) VALUES(@Name,@Description)
END
Solution: Here, I modified the AddDepartment function, I used to pass dynamicParmeters objects with appropriate parameters. The problem is resolved by the following code,
public void AddDepartment(DepartmentModel objDepartment)
{
//Addingthe Department
try
{
DynamicParameters param = new DynamicParameters();
param.Add("@Name",objDepartment.Name);
param.Add("@Description",objDepartment.Description);
connection();
con.Open();
con.Execute("usp_insertDepartment", param, commandType: CommandType.StoredProcedure);
con.Close();
}
catch (Exception ex)
{
throw ex;
}
}