SQL :=SQL + ' and A.Item_invest '''+ComboBox1.Text + eTZTS.Text+'''';ComboBox1 放的是 '>=' ,'<=','=' 这样的内容   eTZTS 放的是数据 
就是根据用户选择>=还是<= 这个数据  
可是上面语句有一个问题 ,谁能帮我改一下啊,谢谢了

解决方案 »

  1.   

    SQL :=SQL + ' and A.Item_invest + ComboBox1.Text +'''+ eTZTS.Text+'''';
      

  2.   

    同意
    你可以ShowMessage(sql)看一下最后结果!
      

  3.   

    query1.close;
    query1.sql.clear;
    query1.sql.add('select * from table wehre a.item_invest ');
    query1.sql.add(combobox1.text);
    query1.sql.add(etzts.text);
    query1.open;
    我没有机器进行调试,你回去试一试吧
    也许不对
    或者设一个变量
    用PARAMBYNAME()给变量赋值
      

  4.   

    insert2003(高级打字员)  menggirl(看天上浮云,胜似闲庭信步) 
    不是吧 老大 那样整个SQL就成这样了
     ... where .. and A.Item_invest + ComboBox1.Text 6 and ...
    取不出ComboBox的值了sunzhiquan(欧阳炎炎) 
    我需要联合查询,你那样不方便
      

  5.   

    A.Item_invest为一变量还是什什么?
    例:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    str :string;
    s :string;
    begin
    str := 'select * form tablname ';
    s := 'id';
    str := str + 'where '+s+combobox1.Text +''''+edit1.Text+'''';
    showmessage(str)
    end;
      

  6.   

    insert2003(高级打字员)  menggirl(看天上浮云,胜似闲庭信步) 
    是对的,怎么不对呀!!!
      

  7.   

    str := str + 'where '+s+combobox1.Text +''''+edit1.Text+'''';这样写能通过吗? 
    请先试一下好吗.谢谢
    A.Item_invest  是字段  多表联合查询
      

  8.   

    txtsql :=txtsql+ ' and A.Item_invest+:ComboBox1+:eTZTS+';
    parambyname('ComboBox1').asstring:=combobox1.text;
    parambyname('eTZTS').asstring:=eTZTS.text;
      

  9.   

    SQL :=SQL + ' and A.Item_invest '+ComboBox1.Text + QuotedStr(eTZTS.Text);'>=' ,'<=','='是不需引起来的.数据需要引起来.QuotedStr是加引号的函数.
      

  10.   

    SQL :=SQL + ' and A.Item_invest '+Trim(ComboBox1.Text) + QuotedStr(eTZTS.Text);
    楼上说得对,>=之类的逻辑判断符不需要加引号的
    建议楼主可以将Sql语句提取出来检查,showmessage(sql);
    看一下语法对不对
      

  11.   

    我知道'>=' ,'<=','='是不需引起来的 可是这样写
    SQL :=SQL + ' and A.Item_invest '+ComboBox1.Text + QuotedStr(eTZTS.Text);
    delphi 里好像通不过啊
      

  12.   

    var
      sSQL: String;
    begin
      ...
      sSQL := 'SELECT * FROM Table1.....';
      sSQL := sSQL + Format(' AND A.Item_invest %s ''%s'' ', [ComboBox1.Text, eTZTS.Text]);
      ...
    end;