procedure TForm6.Button1Click(Sender: TObject);
var
  stre,str:string;
begin
   stre :=Edit1.Text;
   str:= 'dept_name = ' + stre + '' ;
 Table1.filtered :=false;
 Table1.filter :=str;
 Table1.filtered :=true;
end;
 如果Dept_name是integer,就没问题,dept_name是string,就不行!
请高手看看,急!

解决方案 »

  1.   

    str:= 'dept_name = ' +'"'+ stre + '"' ;
      

  2.   

    改成procedure TForm6.Button1Click(Sender: TObject);
    var
      stre,str:string;
    begin
       stre :=Edit1.Text;
       str:= 'dept_name = ''' + stre + '''' ;
     Table1.filtered :=false;
     Table1.filter :=str;
     Table1.filtered :=true;
    end;
    就可以查String类型
      

  3.   

    在Delphi里面,有类似于C语言里面的转义字符,就是'.所以,当stre是字符串wo的话,
    str就是'dept_name = 'wo' '。这样才会正确查询。
      

  4.   

    应该用quotedstr()函数,它是在字符串两边各加一个引号。
    如果用str:= 'dept_name = ''' + stre + '''';的话,那stre 中如有引号的话,就会出错。
    procedure TForm6.Button1Click(Sender: TObject);
    var
      stre,str:string;
    begin
       stre :=Edit1.Text;
       str:= 'dept_name = ' + quotedstr(stre);
     Table1.filtered :=false;
     Table1.filter :=str;
     Table1.filtered :=true;
    end;
      

  5.   

    如果是日期型不知道用?
      stre  :=Edit1.Text;  
      str:=    'date  =  '''  +  stre  +  ''''  ;  
     急!