先判断TextBox的值是否为空,如果不为空才把该查询条件附到SQL语句.
if(TextBox.Text!="")
{
  sql=sql+" where field like...";
}

解决方案 »

  1.   

    你误会我的意思了,我的意思是textbox可以为空,不是必填项。可textbox为空时,也可以存入数据库中,但是在查询时却说这项是null与textbox中不匹配!
    我想可能是textbox为空是加入数据库的是"",而数据库中是null,所以不匹配,怎么改呢?
      

  2.   

    数值为null时要用IS 判断
    如select * from people where id is null
      

  3.   

    不能这样比:
    if TextBox.Text=query.fieldvalue('col_name') then
    begin
    ...
    end;改成这样吧:
    query.fieldvalue('col_name') is null