c# .net Adsense ADO.NET Linq Viruses/security asp.net MVC JQuery Angular-js Node-js SEO Java C++ SQL API Networking vb.net .Net Css JavaScript Generics c#.Net entity framework HTML Website host Website Construction Guide HTTP tutorial W3C tutorial Web Services JSON Psychology Ionic framework Angular ReactJS Python Computer Android
c# .net

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

| | ASP-NET , CSharp , Dapper , SQL

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