显示错误的开销

本文关键字:开销 错误 显示 | 更新日期: 2023-09-27 17:51:22

我的目标是在网页上显示为期一天的会议的成本,这是$50.00。然而,我总是得到0美元的回报。我在SQL中测试了SELECT语句,它正在检索正确的数据。现在我已经缩小了问题在我的if...else if语句在PayBackCC方法,但我不确定。它应该从变量cOneDCost中得到代价。如有任何帮助,不胜感激。

背后的代码
protected void PayBackInfo()
{
    try
    {
        con.Open();
        SqlCommand PBCredit = new SqlCommand("SELECT * FROM PaymentInfo, ConferenceReg WHERE PaymentInfoID=PaymentInfoIDNum AND PaymentInfoID=@payID AND ConferenceReg.Deleted='N' AND ConferenceIDNum=@confID", con);
        PBCredit.Parameters.AddWithValue("@confID", confID);
        PBCredit.Parameters.AddWithValue("@payID", Request.QueryString["payID"]);
        SqlDataReader readerPB = PBCredit.ExecuteReader();
        while (readerPB.Read())
        {
            piID = readerPB["PaymentInfoID"].ToString();
            cID = readerPB["ConferenceIDNum"].ToString();
            poID = readerPB["PurchaseOrder"].ToString();
            partnersNum = readerPB["PartnersIDNum"].ToString();
            cFullCost = Convert.ToDecimal(readerPB["ConferenceFullFee"]).ToString("#,##0.00");
            cOneDCost = Convert.ToDecimal(readerPB["ConferenceOneDayFee"]).ToString("#,##0.00");
            partnersCost = Convert.ToDecimal(readerPB["PartnersFee"]).ToString("#,##0.00");
            PayBackCC();
        }
        readerPB.Close();
    }
    finally
    {
        con.Close();
    }
}

private void PayBackCC()
{
    if (!partnersNum.Equals("null") || !partnersNum.Equals("0"))
    {
        msgLbl.Text = "$" + partnersCost;
    }
    else if (!cFullCost.Equals("0"))
    {
        msgLbl.Text = "$" + cFullCost;
    }
    else if (!cOneDCost.Equals("0"))
    {
        msgLbl.Text = "$" + cOneDCost;
    }
}

显示错误的开销

请更改

 if (!partnersNum.Equals("null") || !partnersNum.Equals("0"))

 if (!String.IsNullOrEmpty(partnersNum) || !partnersNum.Equals("0"))

除非你期望从你的查询

"null"字符串