AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Memo ( Blob ) durchsuchen
Thema durchsuchen
Ansicht
Themen-Optionen

Memo ( Blob ) durchsuchen

Ein Thema von manfred_h · begonnen am 5. Feb 2007 · letzter Beitrag vom 5. Feb 2007
Antwort Antwort
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#1

Memo ( Blob ) durchsuchen

  Alt 5. Feb 2007, 11:19
Datenbank: Firbird • Version: 1.5 • Zugriff über: Fibplus
Hallo zusammen

bin seit längerem mit der Forensuche beschäftigt um mein Problem mit der
Suche im Memofeld zu lösen.
PS: Das Memofeld ist im Moment ein Richtext

Bisher habe ich das so gelöst:
Delphi-Quellcode:
procedure TDM_testimony.search_blob(Sender: TObject);
var
search_text: string;
begin
  search_text := frm_testimony.edt_search.Text;
  with Testimony do
  begin
    Close;
    SelectSQL.Text := ('SELECT * FROM TESTIMONY WHERE TESTIMONY LIKE :serach_str');
    ParamByName('serach_str').asString := '%' + search_text + '%';
    Open;
  end;
end;
Das funktionier auch, aber es werden nur ca 40-50 Zeilen des Memos durchsucht.

Habe auch schon die Möglichkeit mit UDF's das Problem zu lösen angeschaut, leider
ist mir das bisher nicht gelungen.
Hab hierzu das gefunden: > http://devrace.com/en/fibplus/articles/2161.php


To compare a BLOB-field with a value of more than 32 Kb, use a special udf.
For example:
SQL-Code:
select
  ID
from
  BIOLIFE
where
  blobCRC(NOTES) = :NOTES
The code :
Delphi-Quellcode:
TempStream := TMemoryStream.Create;
Try
 TempStream.LoadFromFile('MyFile');
 with DataSet1 do
 begin
  ParamByName('NOTES') .asInteger:= blobCRCPas(MyStream);
  Open;
 end;
finally
 FreeAndNil(TempStream);
end;
In this example blobCRC is udf, and blobCRCPas is a Pascal function.
Both functions must be identical, that is they must return the same result for the same input data.

Leider finde ich die UDF zu diesem Bsp. nirgens.
Könnt Ihr mir einen Tipp geben.

Shalom
Manfred
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Memo ( Blob ) durchsuchen

  Alt 5. Feb 2007, 12:14
Hallo,

containing sucht auch in Blobs.
Soweit ich mich erinnere, wird ein Teil der Daten direkt
in der Page gespeichert (?), deshalb klappt wohl
dein Suchen bis zu einer bestimmten Länge.


Heiko
Heiko
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: Memo ( Blob ) durchsuchen

  Alt 5. Feb 2007, 14:07
Zitat von hoika:
Hallo,
containing sucht auch in Blobs.
Soweit ich mich erinnere, wird ein Teil der Daten direkt
in der Page gespeichert (?), deshalb klappt wohl
dein Suchen bis zu einer bestimmten Länge.
Heiko
Hallo Hoika
mit containing gehts irgendwie aus der Applikation nicht.
SelectSQL.Text := ('SELECT * FROM TESTIMONY WHERE TESTIMONY CONTAINING :serach_str'); Erhalte da kein Resultat, wenn ich das aber im IBExpert eingebe geht das.

Erstaunlicherweise kann ich im Moment auch das Problem mit der Suche nicht mehr
nachvollziehen.

Werde das noch genau überprüfen.

Sahlom
Manfred
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz