Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL akzeptiert ' nicht im Befehl (https://www.delphipraxis.net/2327-sql-akzeptiert-nicht-im-befehl.html)

phlux 18. Jan 2003 13:31


SQL akzeptiert ' nicht im Befehl
 
Hallo!
Ich möchte mit einem SQL Befehl einen Dateinamen in eine DB speichern, das ganze sieht so aus:
Code:
INSERT INTO Archiv VALUES ('Southpark - Timmy - Livin' A Lie.mp3')
Das Problem ist nur das er durch den ' nach Livin denkt ich würde noch einen zusätzlichen Parameter übergeben, gibts es eine möglichkeit das zu umgehen???

sakura 18. Jan 2003 13:42

Ich gehe mal davon aus, dass der User den Text so eingibt: Southpark - Timmy - Livin' A Lie.mp3, dass heisst, ohne die umstehenden Hochkommata.

Annhame: der Userwert ist in der Variablen strTitle gespeichert. Dann solltest Du unbedingt folgenden Code nutzen:
Delphi-Quellcode:
strSQLStatement := Format('INSERT INTO Archiv VALUES (%s)', [QuotedStr(strTitle)]);
Jetzt steht in der Variablen strSQLStatement folgendes
Code:
INSERT INTO Archiv VALUES ('Southpark - Timmy - Livin'' A Lie.mp3')
Doppelte Hochkommata innerhalb eines Strings werden in ein einzelnes durch den SQL Server umgewandelt. QuotedStr macht den Umkehrprozess. Du solltest QuotedStr immer nutzen, wenn Du Strings übergibst, in welche Hochkommata vorkommen können.
...:cat:...

RomanK 18. Jan 2003 13:46

Hoi,
also in Delphi wird mit '' (2x ') ein Hochkomma in einem String dargestellt... vielleicht tut das auch hier.

phlux 18. Jan 2003 13:51

Jupp danke funktioniert so :hello:


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