c# .net

Procedure or function has too many arguments specified-dapper c#

Procedure or function has too many arguments specified-dapper c#, someone asked me to explain?

I am using dapper, I got the following error message “Procedure or function has too many arguments specified” while inserting data into database.   

Procedure or function has too many arguments specified

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;
            } }

 

Post your comments / questions