我从sql中的存储过程返回一个输出参数,即FormNo。它成功返回,我检查了程序,但在c#代码中它没有返回任何内容。
public static Boolean InsertAppliedWorks(int NITNo, int WorkNo, out int FormNo, int ContractorID, decimal FinancialMoney, int OfficeID, int OrgID)
{
Boolean status = false;
ClsDatabaseManager dbManager = ClsDatabaseManager.InitializeDbManager(Constants.Databases.TendersConnection);
try
{
FormNo = 0;
dbManager.Open();
dbManager.CreateParameters(7);
dbManager.AddParameters(0, "@NIT_No", NITNo);
dbManager.AddParameters(1, "@Work_No", WorkNo);
dbManager.AddParameters(2, "@FormNo", FormNo, ParameterDirection.Output);
dbManager.AddParameters(3, "@Contractor_ID", ContractorID);
dbManager.AddParameters(4, "@FinancialMoney", FinancialMoney);
dbManager.AddParameters(5, "@Organization_ID", OrgID );
dbManager.AddParameters(6, "@Office_ID", OfficeID);
status = dbManager.ExecuteNonQuery("InsertAppliedWorks").ToBool();
}
catch (Exception ex)
{
throw ex;
}
finally
{
dbManager.Close();
dbManager.Dispose();
}
return status;
}
代码:
protected void btnSavePrint_Click(object sender, EventArgs e)
{
try
{
ClsTender.InsertAppliedWorks(NitNo, WorkNo, out formno, ContractorID, Cost.ToDecimal(), bp.LoginMainOfficeID, bp.LoginOrganizationID);
int TestFormNo = formno;
Response.Redirect("/forms/general/TenderPrint.aspx?"+"NitNo="+SharedUtility.EncryptURL(NitNo.ToString())+"&WorkNo="+SharedUtility.EncryptURL(WorkNo.ToString()));
}
}
现在它在FormNo中没有返回任何内容
请帮我解决这个问题。浪费了很多时间,但仍然没有任何迹象,
答案 0 :(得分:0)
您需要使用以下内容来检索值:
FormNo = Convert.ToInt32(dbManager.Parameters["@FormNo"].Value);