Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi hab da mal ein SQL suchen Problem (https://www.delphipraxis.net/87101-hab-da-mal-ein-sql-suchen-problem.html)

iron 23. Feb 2007 10:43

Datenbank: Absolute Database • Zugriff über: ABS

hab da mal ein SQL suchen Problem
 
Ich wollte da mal per SQL in meiner Datenbank alle Datensatze zählen die mit einem Buchstaben beginnen und das Ergebnis in einer Statusbar anzeigen lassen.

Delphi-Quellcode:
with FilmeABSQuery do begin
  Close;
  SQL.Text := 'SELECT Count(*) FROM Filme WHERE Filmtitel = E';
  Open;
  i := Form2.FilmeABSQuery.Fields[1].AsInteger;
  StatusBar1.Panels[1].Text := inttostr(i)+ ' Film(e) mit E gefunden ' ;
beim Klick auf den Button bekomm ich ne Fehlermeldung:

Search condition is not applicable

Was mache ich nun schon wieder falsch, kann mir einer einen Hinweis geben?

TBx 23. Feb 2007 10:47

Re: hab da mal ein SQL suchen Problem
 
Hallo!

Du hast da zweierlei Dinge:
1. Du prüfst auf Gleichheit, möchtest aber alles haben, was mit dem Buchstaben E beginnt. Hier wäre also ein
SQL-Code:
like 'E%'
die richtige Bedingung.

2. Du hast Deinen Vergleichswert nicht in Anführungszeichen gesetzt.

Hope it helps

Thomas

Phoenix 23. Feb 2007 10:48

Re: hab da mal ein SQL suchen Problem
 
Du solltest das E vielleicht noch Escapen, also je nach SQL-Dialekt ´E´ oder "E" oder 'E'.

Edit Nachtrag: Da war onlinekater schneller... freilich musst Du auf Like 'xyz%' abprüfen, das hätt ich jetzt glatt vergessen...

iron 23. Feb 2007 11:29

Re: hab da mal ein SQL suchen Problem
 
Jau Danke Euch beiden, hab das jetz mit:

Delphi-Quellcode:
SQL.Text := 'SELECT COUNT (*) FROM Filme WHERE Filmtitel LIKE "E%"';
gemacht und klappt wunderbar.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:26 Uhr.

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