AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Ein "%" Zeichen mit der Formatfunktion ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

Ein "%" Zeichen mit der Formatfunktion ausgeben

Ein Thema von Angel4585 · begonnen am 24. Apr 2006 · letzter Beitrag vom 24. Apr 2006
Antwort Antwort
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Ein "%" Zeichen mit der Formatfunktion ausgeben

  Alt 24. Apr 2006, 12:32
Delphi-Version: unbek.
Hallo zusammen,

Ich will mit der Format-Funktion z.B. einen solchen String zusammenbauen:
SELECT * FROM Tabelle WHERE Feld LIKE %Suchwert% aber wie bekomm ich da diese % Zeichen hin? die gelten doch bei Format als Platzhalter oder?

Nun wenn man zwei "%" Zeichen direkt hintereinander der Formatfunktion übergibt, wird daraus ein "%" Zeichen im Ausgabestring:

Format('SELECT * FROM %s WHERE %s LIKE %%%s%%',['Tabelle','Feld','Suchwert']); und
Format('SELECT * FROM %s WHERE %s LIKE %s%s%s',['Tabelle','Feld','%','Suchwert','%']);
ergeben beide den gesuchten String.


MfG
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ein "%" Zeichen mit der Formatfunktion ausgebe

  Alt 24. Apr 2006, 12:38
Ist das % Teil des Suchstrings?
Markus Kinzler
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Ein "%" Zeichen mit der Formatfunktion ausgebe

  Alt 24. Apr 2006, 12:39
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.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Ein "%" Zeichen mit der Formatfunktion ausgebe

  Alt 24. Apr 2006, 12:41
kannst Du nicht für % chr(37) verwenden?
% ist bei SQL als Wildcard zu verstehen, ähnlich dem * bei windows

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Ein "%" Zeichen mit der Formatfunktion ausgebe

  Alt 24. Apr 2006, 12:42
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Ein "%" Zeichen mit der Formatfunktion ausgebe

  Alt 24. Apr 2006, 12:47
@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.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#7

Re: Ein "%" Zeichen mit der Formatfunktion ausgebe

  Alt 24. Apr 2006, 12:50
Einfach "%%"!
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Ein "%" Zeichen mit der Formatfunktion ausgebe

  Alt 24. Apr 2006, 12:52
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
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#9

Re: Ein "%" Zeichen mit der Formatfunktion ausgebe

  Alt 24. Apr 2006, 13:02
Zitat von Angel4585:
@dfried: Es war ja keine Frage, sondern ein Vorshclag für die CodeLib
Sorry, hab nur den ersten Teil des Beitrags gelesen...
  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 23:52 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