How to pass list to stored procedure

血红的双手。 提交于 2019-12-12 03:32:18

问题


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 List1 to a IEnumerable1.

DataSet ds error :Failed to convert parameter value from a List1 to a IEnumerable1.

来源:https://stackoverflow.com/questions/35647981/how-to-pass-list-to-stored-procedure

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!