检查db状态是否正确,然后采取措施

本文关键字:然后 采取措施 db 状态 是否 检查 | 更新日期: 2023-09-27 17:53:25

我不知道为什么代码不工作。如果rStatus = Reserve显示预订的详细信息如果rStatus = cancelled, show label。文本和以下

什么不工作:当我在eg下进入页面时。User ="ben12"此用户有预订,但没有显示预订,而是显示用户没有预订,如果用户预订状态被取消,则会发生这种情况。

我已经进一步检查了,在user="ben12"下,它有几个取消和保留状态,我不确定这是否是if语句不起作用的原因


我的目标是,如果用户有预订,则显示预订,否则

此代码位于我的Reservation.aspx.cs

Page_Load下。
OleDbConnection mDB = new OleDbConnection();
mDB.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data source="
    + Server.MapPath("~/App_Data/IESDatabase.accdb");
OleDbCommand cmd; 
OleDbDataReader rdr;
string strUserId = (string)Session["sUserId"];
string strSql = "SELECT rStatus FROM Reservation WHERE rUserId = @UserId "
    + "ORDER BY rStatus DESC;";
cmd = new OleDbCommand(strSql, mDB);
mDB.Open();
rdr = cmd.ExecuteReader();
rdr.Read();
Session["rsStatus"] = rdr["rStatus"]; // store the current status
mDB.Close();
if ((string)Session["srStatus"] == "Cancelled")
{
    DetailsView1.Visible = false;
    Label2.Visible = false;
    btnBuy.Visible = false;
    DropDownList1.Visible = false;
    btnCancel.Visible = false;
    lblReserve.Text = "There is no resevation for user " + Session["sUserId"];
}
if ((string)Session["srStatus"] == "Reserve")
{
    lblReserve.Visible = false;
    Label1.Visible = true;
    Label2.Visible = true;
    DetailsView1.Visible = true;
    btnBuy.Visible = true;
    DropDownList1.Visible = true;
    btnCancel.Visible = true;
}

检查db状态是否正确,然后采取措施

问题是你的会话名称,在这里:

Session["rsStatus"] = rdr["rStatus"]; // store the current status

应该是srStatus