with DM.query3_Table_B2 do
        begin
          active:=false;
          filter:=currentcondition ;
          filtered:=true;
          active:=true;
          first;
 tempcondition:=tempcondition+CBoxOtherCondtionChoice.Text+'='''+ComboBox2.Text+'''';
currentcondition:=currentcondition+tempcondition;
问题是:table过滤只能匹配首,我现在想用query过滤,使他能够模糊查询; 那么
tempcondition:=tempcondition+CBoxOtherCondtionChoice.Text+'='''+ComboBox2.Text+'''';
这句该怎么写啊!!!拜托了!!!!!各位能写清楚些吗!!!

解决方案 »

  1.   

    try:
      '*' + str + '*';
      

  2.   

    ???????????什么意思呀,模糊查询?是这样吗?
    tempcondition:=tempcondition+CBoxOtherCondtionChoice.Text+'='''+ComboBox2.Text+'%'''
      

  3.   

    这样
    tempcondition:=tempcondition+CBoxOtherCondtionChoice.Text+'='''+'%'+ComboBox2.Text+'%'''
      

  4.   

    既然使用QUERY了,为什么不 SQL语句啊;
      

  5.   

    pdbird(老巢):
          不行啊!!真的很感谢各位!!!
    qtercel(嗷嗷:
           不是那样的,原来的语句就是 tempcondition:=tempcondition+CBoxOtherCondtionChoice.Text+'='''+ComboBox2.Text+'%'''用table过滤的,但是那样只能匹配首,但现在我想换query过滤,希望能够模糊过滤???
    chechy(为程序而奋斗) :
    你能清楚一点吗??
     outer2000(天外流星) :
      用SQL语句怎么写啊!
      

  6.   

    SQL语句:
    var
     strSQL : String;
    begin 
    strSQL := 'Select * From Table where ' CBoxOtherCondtionChoice.Text+'like ''%'+ComboBox2.Text+'%'';
      

  7.   

    对,既然用了query,通过sql的语句来写方便多了。
    Delphi作为一个强大的数据库应用开发工具的一个重要标志,就是支持SQL编程。在实际的过程中,经常需要对某些字段进行模糊查询。如对“姓名”字段进行查询,当输入“王”时,能自动地将王姓的所有记录列出来。其实,通过结合SQL和Delphi的特点,就能很容易地完成这个功能。其基本原理是:查询时,将查询的范围控制在姓名大于‘查询字符串+chr(0)’与小于‘查询字符串+chr($ff)’之间,就能将满足条件的所有记录查询出来了。下面是具体的例子:
        Var
        NameStr:String;∥设置字符串中间变量
        Begin
        NameStr:=′王′;    Query1SQLClear{清除SQL属性中的SQL命令语句}
        Query1SQLAdd(′Select*FromCustomdbwhere(Name1>=N1)and(Name2<=N2)′);∥SQL命令语句
        Query1params[0]AsString:=NameStr+chr(0);∥控制参数在NameStr+Chr(0)
        Query1params[1]AsString:=NameStr+chr($ff);∥和NameStr+Chr($ff)之间
        Query1Open;∥打开数据库,执行SQL查询
        End;  
      

  8.   

    with Query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from TableName ');
      SQL.Add(' where FieldName = :tempcondition');
      ParamByName('tempcondition'').AsString:='tempcondition:=
                       tempcondition+CBoxOtherCondtionChoice.Text+'='''
                             +ComboBox2.Text+'%''''
      Open;
    end;
      

  9.   

    with Query1 do
      begin
        Close;
        SQL.clear;
        SQL.add('Select * from table where fieldname=:t1');
        Params[0].values:='%'+'查询内容'+'%';
        Open;
      end;