Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 12:05
Delphi-Quellcode:
function GetMemo(tblName, fldName, keyName: string; keyValue: variant): string;
const
  SELECT = 'SELECT %s FROM %s WHERE %s = :key';
var
  ss: TStringStream;
  q: TQuery;
begin
  q := TQuery.Create(nil);
  with q do
  begin
    DatabaseName := 'Mailingliste';
    SQL.Text := Format(SELECT, [fldName, tblName, keyName]);
    Params.ParamValues['key'] := keyValue;
    Open;
    ss := TStringStream.Create('');
    TBlobField(Fields[0]).SaveToStream(ss);
    Result := ss.DataString;
    ss.Free;
    Close;
  end;
end;

procedure TdmMain.TSearchFilterRecord(DataSet: TDataSet; var Accept: Boolean);
var
  i: integer;
  f: TField;
  s, pkName: string;
  pkValue: variant;
begin
  Accept:=false;
  with DataSet do
  begin
    pkName := 'Nummer';
    pkValue := FieldValues[pkName];
    for i := 0 to Pred(FieldCount) do
    begin
      f := Fields[i];
      ShowMessage(f.AsString);
      case f.DataType of
        ftMemo: s := GetMemo('"int.db"', f.FieldName, pkName, pkValue);
        ftGraphic: s := '';
        else s := f.AsString;
      end;
      if Pos(s, tfSearch.SearchString)>0 then
      begin
        Accept := true;
        Break;
      end;
    end;
  end;
 end;
so siehts bei mir aus

Edit Ob 'int' oder '"int.db"' macht keinen Unterschied
Martin Weber
  Mit Zitat antworten Zitat