' im String? [Gelöst]

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

' im String? [Gelöst]

Beitrag von Maik81SE »

Moin...
SIcher werden Jetzt alle über diese Frage lachen, aber ich Stelle diese dennoch, da ich gerade bei SQL auf dieses Hindernis getroffen bin :shock:

Will folgenden SQL Befehl als String in meine Datenbank Schieben aber Iwie habe ich da wohl die Rechnung ohne die Strings gemancht :?

Code: Alles auswählen

SELECT SN_Listing.KuNu, Lizens.KuNu FROM SN_Listing, Lizens WHERE SN_Listing.LfdNr = '359'

Diesen will bzw muß ich reinschicken, um nicht eine Komplette SQL vom Server laden zu müssen.
Aussehen sollte es dann so...

Code: Alles auswählen

  SQLQuery1.SQL.Text := 'SELECT SN_Listing.KuNu, Lizens.KuNu FROM SN_Listing, Lizens WHERE SN_Listing.LfdNr = '359'';

Gibt es ggf eine Art Steuerzeichen, welches ich verwenden kann und das auch von SQL als ' erkannt wird oder kann ich direkte Texte Vergessen?
Wenn ja, würde ich mich wieder über Zaunslatte freuen, für eine Alternatve um zB ein Zeichensatz zu finden...
Zuletzt geändert von Maik81SE am Sa 21. Jan 2017, 16:38, insgesamt 1-mal geändert.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: ' im String?

Beitrag von wp_xyz »

Du musst das Apostroph in einer Stringkonstanten verdoppeln - gilt generell für jeden Pascal-String:

Code: Alles auswählen

  SQLQuery1.SQL.Text := 'SELECT SN_Listing.KuNu, Lizens.KuNu FROM SN_Listing, Lizens WHERE SN_Listing.LfdNr = ''359''';

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Re: ' im String?

Beitrag von creed steiger »


Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: ' im String?

Beitrag von Maik81SE »

Danke.
Und wieder eine Seite mehr für meine Sammlung ;)[quote="wp_xyz"]Du musst das Apostroph in einer Stringkonstanten verdoppeln - gilt generell für jeden Pascal-String:

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: ' im String? [Gelöst]

Beitrag von Mathias »

Dies ist auch noch eine Lösung:

Code: Alles auswählen

ShowMessage(#39 + 'Hello world' + #39)

oder

Code: Alles auswählen

ShowMessage(#39'Hello world'#39)
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: ' im String? [Gelöst]

Beitrag von Maik81SE »

Mathias hat geschrieben:Dies ist auch noch eine Lösung:

Code: Alles auswählen

ShowMessage(#39 + 'Hello world' + #39)

oder

Code: Alles auswählen

ShowMessage(#39'Hello world'#39)


Also wenn überhaupt würde ich die erste Variante wählen.
Bin ich durch die verwendung von gewohnt

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: ' im String? [Gelöst]

Beitrag von wp_xyz »

Naja, falsch ist es nicht, aber auch nicht optimal, denn jedes "+" bedeutet eine Stringverkettung. #39 ist ein "vollwertiges" Zeichen, das nur etwas anders geschrieben wird als 'H' und 'a'. Du schreibst ja auch nicht 'H' + 'a' + 'l' +'l' + 'o'.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: ' im String? [Gelöst]

Beitrag von Mathias »

Maik81SE hat geschrieben:
Mathias hat geschrieben:]


Also wenn überhaupt würde ich die erste Variante wählen.
Bin ich durch die verwendung von gewohnt


Anstelle von #13 würde ich LineEnding verwenden, damit wirst du Plattform unabhängig.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: ' im String? [Gelöst]

Beitrag von Maik81SE »

Mathias hat geschrieben:
Maik81SE hat geschrieben:
Mathias hat geschrieben:


Also wenn überhaupt würde ich die erste Variante wählen.
Bin ich durch die verwendung von

Code: Alles auswählen

+ #13 +
gewohnt


Anstelle von #13 würde ich LineEnding verwenden, damit wirst du Plattform unabhängig.


;) na da ich sowieso unter Ubuntu schreibe und für Win verteile würde es wohl sinn machen ;)

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: ' im String? [Gelöst]

Beitrag von Mathias »

;) na da ich sowieso unter Ubuntu schreibe und für Win verteile würde es wohl sinn machen ;)

In diesem Fall sogar ein Muss. Sonst sind Fehler vorprogrammiert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten