问题
I am trying to pass a list to a SQL Server 2008 R2 using user defined table types but get some errors.
My code is:
public int DAL_SaveIncramentSalary(tbl_Employee_Master obj, List<dtIncrementSalary> tbl)
{
try
{
SqlParameter[] objSqlParameter = new SqlParameter[4];
objSqlParameter[0] = new SqlParameter("@Company_ID", obj.Company_ID);
objSqlParameter[1] = new SqlParameter("@Employee_ID", obj.Employee_ID);
objSqlParameter[2] = new SqlParameter("@Salary_Month", obj.Govt_DA);
objSqlParameter[3] = new SqlParameter("@dt", SqlDbType.Structured);
objSqlParameter[3].Value = tbl;
objSqlParameter[3].Direction = ParameterDirection.Input;
DataSet fdd = SqlHelper.ExecuteDataset(_cnnString2, "usp_Insert_Increment_Salary_List", CommandType.StoredProcedure, objSqlParameter);
DataSet fddd = SqlHelper.ExecuteDataset(_cnnString2, "usp_Insert_Increment_Salary_List", objSqlParameter);
DataSet ds = SqlHelper.ExecuteDataset(_cnnString2, CommandType.StoredProcedure, "usp_Insert_Increment_Salary_List", objSqlParameter);
return SqlHelper.ExecuteNonQuery(_cnnString2, CommandType.StoredProcedure, "usp_Insert_Increment_Salary_List", objSqlParameter);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
I got errors like these:
Dataset dff error : Parameter count does not match Parameter Value count.
DataSet fddd error : Failed to convert parameter value from a List
1 to a IEnumerable1.DataSet ds error :Failed to convert parameter value from a List
1 to a IEnumerable1.
来源:https://stackoverflow.com/questions/35647981/how-to-pass-list-to-stored-procedure