Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.926 Beiträge
 
Delphi 12 Athens
 
#16

Re: Wie fluchtet man Hochkomma im SQL?

  Alt 28. Sep 2005, 17:34
Ähm Fluchten ist der in der Literatur allgemein verwendete Begriff
da es solche krücken wie escapen oder eskeipen oder esceipen im deutschen
nicht gibt. Es heist halt fluchten.

Hab das jetzt mit doppelten hochkommas gelöst da es innerhalb von
einem SQL keine andere möglich keit gibt das zu fluchten .
nochmal zur erklärung.
folgender Quelltext liegt vor.
Delphi-Quellcode:
  try
    if s <> 'then cbox.Tag:=StrToInt(cbox.Text);
  except
    Result:=False;
    ShowMessage({$IFDEF TRANSLATION}TranslateString{$ENDIF}('Ungültiger Wert im Feld ''')+Lbl+'''');
    cbox.SetFocus;
  end;
Ich habe die Translatestring Funktion hier eingefügt wie an Tausenden anderen stellen.
wenn der Text der übergeben ist nicht bekannt ist fügt Translatestring ihn in eine Übersetzungs
Tabelle ein.
Leider hat nun dieser String Hochkommata im text. es wäre dabei eigal wie diese innerhalb delphi
dargestellt sind ob al QuotedStr() oder als #39 etc, denn im Sql tauchen sie ja wieder
auf so das das insert nicht klappt weil sie innerhalb des SQLs nicht gefluchtet sind.
aber wenn man sie noch einmal verdoppelt sind die innerren Hochkomma aich in SQL gefluchtet
und des INSERT Statement funktioniert. und genau das geschieht innerhalb von Translatestring.

'#39' bringst in einem SQL nicht da gibt es das einfach nicht nur '''' funktioniert im SQL.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat