我正在尝试oSiteCompany
使用方法覆盖来填充我的对象(),当我使用SelectQueryProc()
20 个参数时它正在工作,但是当我只传递 1 个参数(COMPANY_ID
)SqlException
时被捕获,表明过程或函数pSiteCompany_GetSiteCompanySingleByCompanyID
需要参数@CompanyID
,但未提供。
谁能建议导致错误的原因?提前致谢!
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;
}