两客串的比较 代码:Label1.Text.Equals("未接帐")咋总是不等呢Label1.Text是数据库中的一个字段值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那就说明Label1.Text的值不是"未接帐",等就等不等就是不等。 试试 if(Label1.Text.Trim() == "未接帐") 我用断点调试了,Label1.Text的值是未接帐的时候也还是不对 if(Label1.Text.Trim() == "未接帐")也是一样总是执行else后面的语句 label1.Text = "未接帐"; if (label1.Text.Equals("未接帐")) { MessageBox.Show("OK"); }有可能是你从数据从数据库里显示的时候不对吧 我建议楼主这样测试:1.首先你先把Label1.Text = "aa";2.判断是不是走了if true的流程if(Label1.Text.Trim() == "aa"){ MessageBox.Show("OK"); //证明已经走了if等于true的流程}3.再把"aa"换成你所说的 ("未接帐"))再试一次,如果没走true,那么说字符串 "未接帐" 有问题。而不是你程序写的有问题。 从数据库中读取出来的值 和label1.Text 值都要注意左右Trim() 全部代码 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>"); } equals()方法比较的是两个对象的内容是否一致.equals也就是比较引用类型是否是对同一个对象的引用。这里使用"=="就OK if (Label1.Text.Trim() == "未接帐")是用==呀,还是无穷如何也只执行else之后的语句,但我把"未接帐"换成"aa",数据库中相应字段也换成"aa"时,就能执行if后的语句 params参数的用法 关于sqldataadapter.update()的问题 ??字符串转换问题?? C#编写winform与手机蓝牙交互 VS2008很奇怪的事情 1000元求购打印货物运单 如果我想画一个这样的dataGrid该怎么办? Dispose()函数实现,似乎并不能导致对象本身被释放啊。 C#中动态控件的方法的定义 请问为什么C#Windwos里面没有Radiobutton List呀 c#可以调用微软的SAPI嘛? 至少一个参数没有被指定值
if(Label1.Text.Trim() == "未接帐")
if (label1.Text.Equals("未接帐"))
{
MessageBox.Show("OK");
}
有可能是你从数据从数据库里显示的时候不对吧
2.判断是不是走了if true的流程
if(Label1.Text.Trim() == "aa")
{
MessageBox.Show("OK"); //证明已经走了if等于true的流程
}
3.再把"aa"换成你所说的 ("未接帐"))
再试一次,如果没走true,那么说字符串 "未接帐" 有问题。
而不是你程序写的有问题。
{
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>");
}