![]() |
Delphi-Version: unbek.
Ein "%" Zeichen mit der Formatfunktion ausgeben
Hallo zusammen,
Ich will mit der Format-Funktion z.B. einen solchen String zusammenbauen:
SQL-Code:
aber wie bekomm ich da diese % Zeichen hin? die gelten doch bei Format als Platzhalter oder?
SELECT * FROM Tabelle WHERE Feld LIKE %Suchwert%
Nun wenn man zwei "%" Zeichen direkt hintereinander der Formatfunktion übergibt, wird daraus ein "%" Zeichen im Ausgabestring:
Delphi-Quellcode:
und
Format('SELECT * FROM %s WHERE %s LIKE %%%s%%',['Tabelle','Feld','Suchwert']);
Delphi-Quellcode:
Format('SELECT * FROM %s WHERE %s LIKE %s%s%s',['Tabelle','Feld','%','Suchwert','%']);
ergeben beide den gesuchten String. MfG :angel: |
Re: Ein "%" Zeichen mit der Formatfunktion ausgebe
Ist das % Teil des Suchstrings?
|
Re: Ein "%" Zeichen mit der Formatfunktion ausgebe
ne das % ist in diesem Fall dazu da das der Suchstring als Teilstring behandelt wird.
Ich ergänze das gleich noch mit einer weiteren Möglichkeit die ich zuerst nicht bedacht hatte. |
Re: Ein "%" Zeichen mit der Formatfunktion ausgebe
kannst Du nicht für % chr(37) verwenden?
% ist bei SQL als Wildcard zu verstehen, ähnlich dem * bei windows Grüße Klaus |
Re: Ein "%" Zeichen mit der Formatfunktion ausgebe
Warum versuchst du den String zu fomatieren? Ich würde zudem mit Paramtern arbeiten, da ich annehme das die Suchfunktion mehr als einmal ausgrführt wird.
|
Re: Ein "%" Zeichen mit der Formatfunktion ausgebe
@mkinzler:
In meinem Fall wird das eher eine Art Filtertabelle, wo die Filter eine Bezeichnung bekommen und Tabelle und Suchwert einfach nurnoch in die Tabelle geschrieben werden, man dann über eine ComboBox die Filterbezeichnung auswählt und diese dann automatisch auf die jeweilige Tabelle angewandt wird. @Klaus01: Wird Chr(37) nicht einfach als "%" vom Compiler intepretiert? Es würde in dem Fall nämlich nichts ändern. Edit: vielleicht ist das ein schlechtes Beispiel von mir, es geht ja nur darum das % Zeichen mit der Format-Fuktion auszugeben. Nicht um SQL oder so. |
Re: Ein "%" Zeichen mit der Formatfunktion ausgebe
Einfach "%%"!
|
Re: Ein "%" Zeichen mit der Formatfunktion ausgebe
Ach.. ähm.. kann mir jemand sagen ab welcher Delphiversion es diese Formatfunktion gibt(Für die korrekte Angabe)? Ich hab bisher nur mit Delphi6 und Delphi 2005 gearbeitet und da gabs die jeweils.
@dfried: Es war ja keine Frage, sondern ein Vorshclag für die CodeLib :zwinker: |
Re: Ein "%" Zeichen mit der Formatfunktion ausgebe
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:56 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-2025 by Thomas Breitkreuz