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;
} }
Post your comments / questions
Recent Article
- How to get domain name information from a Domain using Python
- ModulenotFoundError: no module named 'debug_toolbar' -SOLUTION
- How to create superuser in django project hosted in cPanel without terminal
- CSS & images not loading in django admin | cpanel without terminal
- Could not build wheels for mysqlclient, which is required to install pyproject.toml-based projects
- How to sell domain name on Godaddy (2023)
- TemplateSyntaxError at / Could not parse the remainder: ' + 1' from 'forloop.counter0 + 1'
- urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0
Related Article