Einzelnen Beitrag anzeigen

Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
482 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Variablen übergeben bei insert

  Alt 21. Aug 2016, 19:40
Also wenn ich sowas mache und keine Parameter verwende, dann nutze ich QuotedStr. Damit hab' ich dann immer das Richtige, ohne weiter drüber nachdenken zu müssen.
Naja, wie du hier ja lesen kannst, macht QuotedStr ja nichts außer den String in ' zu packen. Nur warem im ersten Beitrag ja normale Anfhrungszeichen (") zu sehen:
FSQLCommandText := 'INSERT INTO Buecher(BuchID,Titel, Aid, ISBN) VALUES (NULL,"B1",1,"123");';
Und das ist meines Wissens nach in alle SQL-Dialekten falsch. Es gibt meines Wissens nach kein gängiges SQL, das nicht die Pascal-Strings verwendet, also Apostrophe ('). SQL müsste als bei " einen Fehler ausgeben.

Außerdem bleibt hier immer noch das Problem, dass falls der String selbst Zeichen wie ' enthält, diese so noch nicht "escaped" werden. Das muss man noch über eine Kodierungs-/Dekodierungs-Routine machen. Ansonsten kriegst du nämlich wurstsalat wenn dein String zum Beispiel ' Zeichen enthält.

Außerdem musst du darauf achten, dass du AnsiQuotedStr bei Multibyte-Strings benutzt.
Dennis
  Mit Zitat antworten Zitat