日期:2014-05-18  浏览次数:20966 次

C#连接数据库,多重条件查询语句的问题
一个表
现在按多重条件查询,关键字可选可不选,不选就表示忽略该条件

我写了代码之后,运行起来 没有填仍然按空值去查询了……怎么设定if语句,让它在如果是空值的情况下不去查询?
比如以下这样的

  string sql = "select dnum as '编号',dname as '姓名',dpw as '密码' from d where 1=1";
  if (textBox1.Text != null)
  {
  sql = sql + " and dnum='" + textBox1.Text + "' ";
  }
  if (textBox2.Text != null)
  {
  sql = sql + " and dname='" + textBox2.Text + "' ";
  }

这么写了之后,哪怕TEXTBOX2没有填写,也仍然执行查询了……应该怎么忽略掉空值的时候?

------解决方案--------------------
if (textBox1.Text != null)

这个永远都成立。textBox1.Text的初始值就是string.Empty,什么时候可能是null呢?



应该写

if (textBox1.Text.Trim() != string.Empty)
------解决方案--------------------
C# code
if (textBox2.Text != "")