Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Blob filtern (https://www.delphipraxis.net/102883-blob-filtern.html)

Lill Jens 9. Nov 2007 13:24

Re: Blob filtern
 
Okay ich hab jetzt ein Query und hab das Query mit meiner DataSource verbunden.
Den SQL Befehl hab ich auch eingetragen

SQL-Code:
SELECT * FROM Mit WHERE Lichtbild IS NOT NULL
allerdings funktioniert der Filter nicht.

Hab ich was vergessen?

mkinzler 9. Nov 2007 13:34

Re: Blob filtern
 
Welcher Filter jetzt?

Lill Jens 12. Nov 2007 10:13

Re: Blob filtern
 
Zitat:

Zitat von mkinzler
Welcher Filter jetzt?

Ja wenn ich den SQL Befehl eingeb müsste er doch eigentlich schon filtern, oder?

marabu 12. Nov 2007 10:27

Re: Blob filtern
 
Hallo,

dein SQL-Statement ist völlig in Ordnung.

Übrigens: Du kannst deine SQL-Statements zuerst in der Borland "Datenbankoberfläche" testen, bevor du sie in dein Programm übernimmst.

Grüße vom marabu

Lill Jens 12. Nov 2007 10:36

Re: Blob filtern
 
Zitat:

Zitat von marabu
Hallo,

dein SQL-Statement ist völlig in Ordnung.

Übrigens: Du kannst deine SQL-Statements zuerst in der Borland "Datenbankoberfläche" testen, bevor du sie in dein Programm übernimmst.

Grüße vom marabu

Das Problem ist nur er filtert nicht...

mkinzler 12. Nov 2007 10:44

Re: Blob filtern
 
Dann ist der wert des Blobfeldes auch bei keinem Bild nicht NULL.

Lill Jens 12. Nov 2007 11:12

Re: Blob filtern
 
Zitat:

Zitat von mkinzler
Dann ist der wert des Blobfeldes auch bei keinem Bild nicht NULL.

sehr schlecht...anders überprüfen ist nicht möglich oder?

danke mkinzler für deine hilfe :thumb:

HeDoc 15. Nov 2007 01:02

Re: Blob filtern
 
Hallo Lill Jens,

Zitat:

Zitat von Lill Jens
sehr schlecht...anders überprüfen ist nicht möglich oder?

Doch, klar!
Du kannst das Ereignis "OnFilterRecord" verwenden:
Überleg dir, woran du erkennst, ob ein Datensatz ein Bild enthalten kann.
z.B. prüf die Länge mit einem Stream

Delphi-Quellcode:
procedure MeinTableFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
var
  MS: TMemoryStream;
begin
  MS := TMemoryStream.Create;
  try
    fieldbyname('Blobfeld').SaveToStream(MS);
    MS.position:=0;
    Accept:=MS.Size>100; // so klein wird kein Bild sein
  finally
    MS.Free;
  end;
end;
So kannst du mit deinem Code jeden Datensatz prüfen lassen, ob er zu der gefilterten Datenmenge gehören soll.

Gruß
HeDoc

marabu 15. Nov 2007 06:52

Re: Blob filtern
 
Moin,

Zitat:

Zitat von Lill Jens
Ich will also schauen ob in der Datenbank ein Bild hinterlegt ist.

das funktioniert mit einem Test auf NULL problemlos, so wie es Deddy ja schon in Beitrag #4 vorgeschlagen hat. Wenn das Ergebnis trotzdem nicht zufrieden stellt, dann sollte zuerst untersucht werden, wie es dazu kommt, dass ein Test auf NULL negativ verläuft, obwohl kein Bild gespeichert ist.

Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:56 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz