Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi [MySQL] Es wird immer das "\"-Zeichen entfernt (https://www.delphipraxis.net/53433-%5Bmysql%5D-es-wird-immer-das-%5C-zeichen-entfernt.html)

TheMiller 16. Sep 2005 13:28

Datenbank: MySQL • Version: 4 • Zugriff über: Konsole

[MySQL] Es wird immer das "\"-Zeichen entfernt
 
Hallo,

kurz und pregnant: Wieso wird der Slash (\) im VarChar-Feld einfach weggelassen. Brauche ihn!
Auch, wenn ich den Datensatz per Parameter in ZEOS speichere. Immer weg... Wieso?

Danke

alcaeus 16. Sep 2005 13:32

Re: [MySQL] Es wird immer das "\"-Zeichen entfernt
 
Moin, weil der \ maskiert werden muss. Einfach jeden \ durch \\ ersetzen.

Greetz
alcaeus

moritz 16. Sep 2005 13:36

Re: [MySQL] Es wird immer das "\"-Zeichen entfernt
 
Allerdings muss das Anführungszeichen dann nochmals maskiert werden, oder? Also eigentlich \\\", oder?

alcaeus 16. Sep 2005 13:39

Re: [MySQL] Es wird immer das "\"-Zeichen entfernt
 
Jein. Wenn du ein ' in einem String in die DB schreiben willst, dann maskierst du diesen mit dem Backslash:
SQL-Code:
INSERT INTO sometable (id, data) VALUES (<someid>, 'This is a text containing a \'')
AFAIR kann man aber auch '' verwenden (zwei mal ')

Greetz
alcaeus

Bernhard Geyer 16. Sep 2005 13:42

Re: [MySQL] Es wird immer das "\"-Zeichen entfernt
 
Zitat:

Zitat von DJ-SPM
Hallo,

kurz und pregnant: Wieso wird der Slash (\) im VarChar-Feld einfach weggelassen. Brauche ihn!
Auch, wenn ich den Datensatz per Parameter in ZEOS speichere. Immer weg... Wieso?

Danke

MySQL String-Syntax
Und wenn Du like-Abfragen machst muß Du es nochmals Escapen. Also bis zu vier Backslashes im String haben um ein Backslash zu suchen :-)

TheMiller 16. Sep 2005 13:51

Re: [MySQL] Es wird immer das "\"-Zeichen entfernt
 
Hm, ich möchte einen Dateipfad

Delphi-Quellcode:
(ExtractFilePath(ParamStr(0))+dateiname);
speichern. wie kann ich da die Slashs verdoppeln?

alcaeus 16. Sep 2005 13:53

Re: [MySQL] Es wird immer das "\"-Zeichen entfernt
 
Delphi-Quellcode:
Pfad := StringReplace(Pfad, '\', '\\', [rfReplaceAll]);
;)

Greetz
alcaeus

TheMiller 16. Sep 2005 13:54

Re: [MySQL] Es wird immer das "\"-Zeichen entfernt
 
Verdammt - na klar. danke

Sharky 16. Sep 2005 14:02

Re: [MySQL] Es wird immer das "\"-Zeichen entfernt
 
Zitat:

Zitat von DJ-SPM
Verdammt - na klar. danke

Wenn Du die \\ im gespeicherten Pfad nicht haben möchtest könntest Du denn BackSlash auch einfach durch einen Slash ersetzen ;-)
Delphi-Quellcode:
Pfad := StringReplace(Pfad, '\', '/', [rfReplaceAll]);


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