I am trying to populate my object ( oSiteCompany
) using method override, when I use SelectQueryProc()
with 20 parameters it is working but when I pass only 1 parameter( COMPANY_ID
) SqlException
was caught indicating that Procedure or function pSiteCompany_GetSiteCompanySingleByCompanyID
expects parameter @CompanyID
, which was not supplied.
Can anyone suggest what causes the error? Thanks in advance!
public List<oSiteCompany> GetSiteCompanySingleByCompanyID(string companyID)
{
List<oSiteCompany> newSiteCompany = new List<oSiteCompany>();
DataTable dt = new DataTable();
SqlParameter[] sqlParam = new SqlParameter[1];
sqlParam[0] = new SqlParameter("@COMPANY_ID", SqlDbType.VarChar);
sqlParam[0].Value = companyID;
CommonDAL commonDAL = new CommonDAL();
dt = commonDAL.SelectQueryProc("pSiteCompany_GetSiteCompanySingleByCompanyID", sqlParam);
foreach (DataRow dr in dt.Rows)
{
newSiteCompany.Add(new oSiteCompany()
{
CompanyID = dr["COMPANY_ID"].ToString(),
CompanyName = dr["COMPANY_NAME"].ToString(),
Type = dr["TYPE"].ToString(),
Description = dr["DESCRIPTION"].ToString(),
FormulaID = dr["FORMULA_ID"].ToString(),
Address1 = dr["ADDRESS1"].ToString(),
Address2 = dr["ADDRESS2"].ToString(),
Address3 = dr["ADDRESS3"].ToString(),
Address4 = dr["ADDRESS4"].ToString(),
City = dr["CITY"].ToString(),
State = dr["STATE"].ToString(),
PostalCode = dr["POSTAL_CODE"].ToString(),
CountryCode = dr["COUNTRY_CODE"].ToString(),
Status = dr["STATUS"].ToString(),
BillingReport = dr["BILL_REPORT"].ToString(),
AccountCode = dr["ACCOUNT_CODE"].ToString(),
OrderNumber = dr["ORDER_NUMBER"].ToString(),
CostCenter = dr["COST_CENTER"].ToString(),
ReferenceNumberSequence = dr["REF_NUM_SEQ"].ToString(),
InvoiceRemarks = dr["REMARKS"].ToString()
});
}
return newSiteCompany;
}
public DataTable SelectQueryProc(String _storedProc)
{
DataTable t = new DataTable();
try
{
using (SqlConnection sqlConnection = new SqlConnection(CommonEntity.ConnectionString))
{
sqlConnection.Open();
using (SqlDataAdapter adapter = new SqlDataAdapter(_storedProc, sqlConnection))
{
adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
adapter.Fill(t);
}
}
}
catch (SqlException e)
{
throw new SystemException(e.ToString());
}
finally
{
}
return t;
}
public DataTable SelectQueryProc(String _storedProc, SqlParameter[] sqlParameter)
{
DataTable t = new DataTable();
try
{
using (SqlConnection sqlConnection = new SqlConnection(CommonEntity.ConnectionString))
{
sqlConnection.Open();
using (SqlDataAdapter adapter = new SqlDataAdapter(_storedProc, sqlConnection))
{
adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
adapter.SelectCommand.Parameters.AddRange(sqlParameter);
adapter.Fill(t);
}
}
}
catch (SqlException e)
{
throw new SystemException(e.ToString());
}
finally
{
}
return t;
}
Your parameter name is wrong, it should not have underscore. Change
sqlParam[0] = new SqlParameter("@COMPANY_ID", SqlDbType.VarChar);
to
sqlParam[0] = new SqlParameter("@CompanyID", SqlDbType.VarChar);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.