1
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
に何も返さない、この上で私を助けてください。それは多くの時間を無駄にしているし、まだ兆候、
エラーが出力パラメータ@Cuckoo – Cuckoo
をBOOLするタイプの文字列を変換することはできませんが、 'FormNo'ではありません、あなたはその価値を得る必要があります。編集を確認してください。 – user3185569