代码:Label1.Text.Equals("未接帐")咋总是不等呢
Label1.Text是数据库中的一个字段值

解决方案 »

  1.   

    那就说明Label1.Text的值不是"未接帐",等就等不等就是不等。
      

  2.   

    试试 
    if(Label1.Text.Trim() == "未接帐")
      

  3.   

    我用断点调试了,Label1.Text的值是未接帐的时候也还是不对
      

  4.   

     if(Label1.Text.Trim() == "未接帐")也是一样总是执行else后面的语句
      

  5.   

                label1.Text = "未接帐";
                if (label1.Text.Equals("未接帐"))
                {
                    MessageBox.Show("OK");
                }
    有可能是你从数据从数据库里显示的时候不对吧
      

  6.   

    我建议楼主这样测试:1.首先你先把Label1.Text = "aa";
    2.判断是不是走了if true的流程
    if(Label1.Text.Trim() == "aa")
    {
        MessageBox.Show("OK");     //证明已经走了if等于true的流程
    }
    3.再把"aa"换成你所说的  ("未接帐"))
    再试一次,如果没走true,那么说字符串 "未接帐" 有问题。
    而不是你程序写的有问题。
      

  7.   

    从数据库中读取出来的值 和label1.Text 值都要注意左右Trim()
      
      

  8.   

    全部代码 protected void query_Click(object sender, EventArgs e)
        {
            DB_gg DB_dd = new DB_gg();
            DB_dd.getcon();
            String strCom = "SELECT 订单号,顾客姓名,顾客身份证号,订餐时间,就餐时间,桌数,总金额,预付金额,状态 FROM dd_tb where 订单号='" + quebyddh.Text + "'or 顾客姓名='" + quebyxm.Text + "'";        DataSet myDataSet = new DataSet();
            SqlDataAdapter myCommand = new SqlDataAdapter(strCom, DB_dd.getcon());
            //填充DataSet
            myCommand.Fill(myDataSet, "dd_tb");
            //关闭链接
            DetailsView1.DataSource = myDataSet.Tables["dd_tb"].DefaultView;
            //绑定 DataGrid
            DetailsView1.DataBind();
            zt = myDataSet.Tables[0].Rows[0][8].ToString();//将指定记录的状态字段赋给zt
            DB_dd.clear();
            Label1.Text = zt;  //调试语句
        }
    protected void Button1_Click(object sender, EventArgs e)
        {
          
            string jzst,wjz;
            jzst="已结帐";
           // wjz = "未接帐";
            DB_gg DB_dd = new DB_gg();
            DB_dd.getcon();
        
            
            //判断指定记录的状态字段是否结帐,若没有则进行结帐处理,否则执行else后面的语句
            if (Label1.Text.Trim() == "未接帐")// (Label1.Text.Equals("未接帐"))比较有问题
            {
                String strCom = "update dd_tb set 状态 =' " + jzst + "' where 订单号='" + quebyddh.Text + "'or 顾客姓名='" + quebyxm.Text + "'";//修改状态字段            SqlCommand sqlcmd;
                sqlcmd = new SqlCommand(strCom, DB_dd.getcon());
                bool oo = Convert.ToBoolean(sqlcmd.ExecuteNonQuery());
                DataBind();
                if (oo == true)
                {
                    Response.Write("<script language=javascript>alert('结帐成功!');location='PayTheBill.aspx'</script>");
                    Page_Load(sender, e);
                }
                else
                {
                    Response.Write("<script language=javascript>alert('对不起,结帐失败!');location='javascript:history.go(-1)'</script>");
                }
                DetailsView1.DataBind();
                DB_dd.clear();
            }
            else
                Response.Write("<script language=javascript>alert('此顾客已结帐!');location='javascript:history.go(-1)'</script>");            
        }
      

  9.   

    equals()方法比较的是两个对象的内容是否一致.equals也就是比较引用类型是否是对同一个对象的引用。这里使用"=="就OK
      

  10.   

     if (Label1.Text.Trim() == "未接帐")是用==呀,还是无穷如何也只执行else之后的语句,但我把"未接帐"换成"aa",数据库中相应字段也换成"aa"时,就能执行if后的语句