Entwickler-Ecke
Datenbanken - Abfrage mit ADOQuery und Platzhalterzeichen
SystemError - Fr 10.04.09 13:15
Titel: Abfrage mit ADOQuery und Platzhalterzeichen
Hi zusammen,
ich bastle momentan an einem kleinen Datenbankprogramm. Die Datenbank enthält u.a. eine Tabelle über Grundstücke(ID, Name, Fläche in m², PLZ, Ort etc.). Jetzt möchte ich eine PLZ-Suchfunktion basteln, für die der Nutzer auch nur Teile der PLZ eingeben muss (also z.B gibt er "0" in einem Editfeld ein für alle Wohnungen, in deren PLZ eine 0 enthalten ist). Dafür muss ich ja mit Platzhalterzeichen in der SQL-Abfrage arbeiten.
Die Abfrage in SQL funktioniert in Access, allerdings nicht bei Delphi (wo ich die per Copy&Paste eingefügt habe), er zeigt dann eine leeren DBGrid an (nur eine leere Zeile).
Mein Quelltext bis jetzt sieht so aus:
Delphi-Quelltext
1: 2: 3: 4: 5:
| adoquery3.Active:=false; adoquery3.SQL.clear; adoquery3.SQL.add('SELECT G_ID, Name, Fläche, Preis, PLZ FROM Grundstück '); adoquery3.SQL.Add('WHERE PLZ Like "*0*";'); adoquery3.active:=true; |
In Access sieht sie Abfrage mithilfe des Assistenten so aus:
Delphi-Quelltext
1: 2: 3:
| SELECT Grundstück.G_ID, Grundstück.Name, Grundstück.PLZ FROM Grundstück WHERE (((Grundstück.PLZ) Like "*0*")); |
Robert.Wachtel - Fr 10.04.09 14:32
Meinst Du nicht, dass es unter Umständen ganz hilfreich wäre, zumindest das verwendete Datenbanksystem zu nennen?
Wahrscheinlich musst Du einen anderen Platzhalter verwenden.
http://lmgtfy.com/?q=sql+like
Ansonsten ist die Verwendung von Umlauten in Feld- und Tabellennamen äußerst bedenklich. Manchmal hilft es, die Bezeichner in eckige Klammern zu setzen. Aber da Du keine Fehlermeldung bekommen hast, gehe ich davon aus, dass es daran nicht liegt.
mkinzler - Fr 10.04.09 15:05
Der Standardjoker unter SQL ist %
Robert.Wachtel - Fr 10.04.09 15:09
...womit wieder mal bewiesen wäre, dass hier jede noch so simple FAQ eine Antwort auf dem Silbertablett serviert bekommt...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!