小弟最近在做一个系统,用的是delphi+sql server,但是有个问题卡住了,求教各位
高人,不胜感激!!
小弟在写查询模块的时候是这么写的 procedure TFrm_query.BitBtn_queryClick(Sender: TObject);
var
  asql:string;
beginif combobox_year.text<>''
     then asql:='"and (check_year="'+combobox_year.text+'")';if combobox_kind.text<>''
     then asql:=asql+ 'and (check_kind="'+combobox_kind.text+'")';  if asql<>''
    then begin
       adoquery_inspect.Close;
       adoquery_inspect.SQL.Text:='select * from tb_inspect where
check_class<>"" '+asql;
       datasource_query_result.dataset:=adoquery_inspect;
       adoquery_inspect.Open;
    end
    else showmessage('请输入查询条件');
end;
编译可以通过,但是运行的时候出现错误('不能使用空白的对象和字段...'),小弟估计是sql语句的错误,不知
道如何修改,望各位指教!!

解决方案 »

  1.   

    if combobox_year.text<>''
         then asql:=' and (check_year='+''''+combobox_year.text+''''+')';if combobox_kind.text<>''
         then asql:=asql+ ' and (check_kind='+''''+combobox_kind.text+''''+')';  if asql<>''
        then begin
           adoquery_inspect.Close;
           adoquery_inspect.SQL.Text:='select * from tb_inspect where 
    check_class is not null '+asql;
           datasource_query_result.dataset:=adoquery_inspect;
           adoquery_inspect.Open;
        end
        else showmessage('请输入查询条件');
      

  2.   

    判断不为空使用is not null