用TQuery的Params,或者直接动态生成语句,如 SQL.Text := STR_YOURSQL + ' Where XXX = ''' + Combox1.Text + '''';

解决方案 »

  1.   

    用Params时是这样写吗?  (假设combox1的项送到字符串变量Field中)
    ....where :Field=××××
    Query1。ParamByName(‘Field’)。Asstring:=Combox1.text
      

  2.   

    Query1.sql.clear;
    Query1.sql.add('Select field1,field2,... from mytable');
    Query1.sql.add('where 1 = 1')  \\   <<<===   注意這裡  =====>>>if Edit1.text <> '' then
    Query1.sql.add('and field1='+edit1.text);
    if Edit2.text <> '' then
    Query1.sql.add('and field2='+edit1.text);
    ....Query1.sql.open;
      

  3.   

    Query1.sql.clear;
    Query1.sql.add('Select field1,field2,... from mytable');
    Query1.sql.add('where 1 = 1')  \\   <<<===   注意這裡  =====>>>if Edit1.text <> '' then
    Query1.sql.add('and field1='+edit1.text);
    if Edit2.text <> '' then
    Query1.sql.add('and field2='+edit1.text);
    ....Query1.sql.open;
      

  4.   

    如果用参数该怎么作?(DmForm是数据模块)
    DmForm.Query1.Close;
      DmForm.Query1.SQL.Clear;
      DmForm.Query1.SQL.Add('select * from filminfo.db where ChName=:note');
      DmForm.Query1.ParamByName('Field').Asstring:=Field;
      DmForm.Query1.ParamByName('note').Asstring:=Edit1.Text;
      DmForm.Query1.Open;
    但系统提示"Field"无效