Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String Hochkomma / Anfürhungszeichen (https://www.delphipraxis.net/88286-string-hochkomma-anfuerhungszeichen.html)

bl3nder 13. Mär 2007 09:16


String Hochkomma / Anfürhungszeichen
 
Hi,
Auf die Gefahr hin verbal gelüncht zu werden, weil die Frage schon woanders beantwortet wurde :


Ich hab in meiner mysql Datenbank ein Feld namens "Doku", in der über ein Programm Text eingefügt werden kann.
Problem an der ganzen Sache ist, dass es eigentlich hinhaut, nur wenn man versucht in den Text "so etwas" einzubauen (also mit Anführungszeichen), dann gibts eine SQL Fehlermeldung. Ich denke das liegt daran, weil das Query vorzeitig beendet wird, weil die "" als Ende des SQL Strings behandelt werden oder sowas in der Art. Aufjedenfall liegt es an den ""

Nun dachte ich mir, koennte ich diese doch durch '' ersetzen
Suche ich nach so einem Verfahren stoße ich auf folgende Lösung, wenn man Leerzeichen ersetzen durch 0en ersetzen möchte

Delphi-Quellcode:
var s: string // da wird der rotz fuer die datenbank reingeschrieben
while Pos(' ', s) > 0 do
    s[Pos(' ', s)] := '0';
Wie bau ich das jetzt zusammen, dass er mir ein " zu ' ersetzt, damit die SQL Abfrage hinterher damit zurecht kommt ?

Gruß

und net haun :duck: :)

himitsu 13. Mär 2007 09:20

Re: String Hochkomma / Anfürhungszeichen
 
entweder so wie beim Leerzeichen,

Delphi-Quellcode:
var s: string // da wird der rotz fuer die datenbank reingeschrieben
while Pos(' ', s) > 0 do
    s[Pos(' ', s)] := '0';
while Pos('"', s) > 0 do
    s[Pos('"', s)] := '''';

oder mit StringReplace?

PS: das kannst du auch für ' ' zu '0' verwenden :zwinker:

bl3nder 13. Mär 2007 09:25

Re: String Hochkomma / Anfürhungszeichen
 
ja aber ich moechte doch ein " zu einem ' ersetzen
und das geht ja nicht weil er mir dann einen fehler gibt wenn ich

Delphi-Quellcode:
while Pos('"', s) > 0 do
    s[Pos('"', s)] := ''';
schreibe

das ''' mag er nicht

leddl 13. Mär 2007 09:26

Re: String Hochkomma / Anfürhungszeichen
 
Schau dir die entsprechende Stelle in himitsus Code mal genau an :zwinker:

himitsu 13. Mär 2007 09:39

Re: String Hochkomma / Anfürhungszeichen
 
' ist ja der Stringbegrenzer und demnach muß der etwas codiert werden, damit man den in den String einbauen kann.

ein '' im Quellcode ist dann ein ' im String.

Code:
[color=#0000ff]'[/color][color=#ff0000]''[/color][color=#0000ff]'[/color]
Stringbegrenzer
codiertes '

diese Varianten gibt es:
Code:
S := '[color=#ff0000]''[/color]';
S := 'abc[color=#ff0000]''[/color]def';
S := 'abc[color=#ff0000]''[/color]';
S := '[color=#ff0000]''[/color]def';

S := [color=#ff0000]#39[/color];
S := 'abc[color=#ff0000]'#39'[/color]def';
S := 'abc'[color=#ff0000]#39[/color];
S := [color=#ff0000]#39[/color]'def';

bl3nder 13. Mär 2007 09:46

Re: String Hochkomma / Anfürhungszeichen
 
:coder2: :kiss:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 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