我想在edit的onkeypress事件中,模糊查询数据中的记录,但要报记法错误。我用了最简单的语句"select * from customer"也同样报错,用的是TQury组件和TdataSource组件。

解决方案 »

  1.   

    这是我几个月前的一段代码,在Edit的OnKeyDown时间中按照用户输入的一个或者多个关键词进行模糊查询:全局变量:LastQueryStr:String;PubStrs:TStringList;procedure TFMList.QueryTextKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    Var SQLStr:String;
        I:Integer;
    begin
      if KEY=VK_Return then
      begin
        if QueryText.Text='' then Exit;
        if (Trim(QueryText.Text)<>LastQueryStr) then
        begin
          LastQueryStr:=Trim(QueryText.Text);
          PubStrs.CommaText:=LastQueryStr;      SQLStr:='Select * from DevView where '+QueryFieldName+' Like '+
              QuotedStr('%'+PubStrs[0]+'%');
          if PubStrs.Count>1 then
          begin
            for I:=1 to PubStrs.Count-1 do
              SQLStr:=SQLStr+' and '+QueryFieldName+' Like '+
                QuotedStr('%'+PubStrs[I]+'%');
          end;    end else    begin
          QueryText.Text:='';
          LastQueryStr:='';
          SQLStr:='Select * from DevView';
        end;    SQLStr:=SQlStr+' Order by DevID Desc';    District.ItemIndex:=0;
        District.OnChange(nil);    DM.QDevList.Close;
        DM.QDevList.SQL.Clear;
        DM.QDevList.SQL.Add(SQLStr);
        DM.QDevList.Open;
      end;
    end;