Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi / in Datenbank speichern (https://www.delphipraxis.net/54909-datenbank-speichern.html)

jana 13. Okt 2005 09:26

Datenbank: MySQL • Version: 3.2 • Zugriff über: BDE

/ in Datenbank speichern
 
Hallo,

ich habe mal wieder ein Problem:

mein Anwender gibt mir in eine Editbox einen Dateipfad an. Diesen möchte ich wie folgt in die DB schreiben:

Delphi-Quellcode:
Query1.SQL.Text := ('INSERT INTO setup(ImportVerz, LogVerz) VALUES ('+ quotedstr(Dir) +','+ quotedstr(Dir2) +') ');
Query1.ExecSQL;
Label3.Caption := Query1.SQL.Text
Label 3 zeigt mir noch alles richtig an, aber wenn ich dann in die Tabelle reinschaue sind sämtlich \ weg.

Kann mir jemand einen Tip geben, wie ich man das machen kann, damit er auch die \ abspeichert? Den : hat er gespeichert..

Gruß jana

franktron 13. Okt 2005 09:30

Re: / in Datenbank speichern
 
Erstmal herzlich Willkomen in der DP

und nun zu deinem Problem, das ist ein ganz normales SQL Prob. nehm besser Params

z.b.
Delphi-Quellcode:
Query1.SQL.Text := ('INSERT INTO setup(ImportVerz, LogVerz) VALUES (':dir1,:dir2') ');
Query1.ParamaByName('dir').Text:=quotedstr(Dir);
Query1.ParamaByName('dir').Text:=quotedstr(Dir2);
Query1.ExecSQL;
Label3.Caption := Query1.SQL.Text

jana 13. Okt 2005 09:38

Re: / in Datenbank speichern
 
erstmal Danke für die schnelle Antwort!

Aber bei den Doppelpunkten hat er ein Problem:
[Fehler] Unit2.pas(70): E2029 ')' erwartet, aber ':' gefunden

Madlax 13. Okt 2005 09:44

Re: / in Datenbank speichern
 
Hallo jana,

es müßte so funktionieren:

Delphi-Quellcode:
Query1.SQL.Text := 'INSERT INTO setup(ImportVerz, LogVerz) VALUES (:dir,:dir2)';
Query1.ParamByName('dir').Value := quotedstr(Dir);
Query1.ParamByName('dir2').Value := quotedstr(Dir2);
Query1.ExecSQL;
Label3.Caption := Query1.SQL.Text

jana 13. Okt 2005 09:58

Re: / in Datenbank speichern
 
Ja cool jetzt funktionierts! DANKE!! :-D

Bernhard Geyer 13. Okt 2005 10:01

Re: / in Datenbank speichern
 
MySQL hat hier eine C-Like-Escaping-Verhalten von Backslash.

Je nach Aktion muß das Backslash escapet werden (Teilweise sogar doppelt bei Like-Abfragen):
Suche nach \ -> Eingabe von \\\\


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