Autor Beitrag
eternity
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: So 10.08.03 13:29 
Hallo mal wieder !

Mein Prob. ist, das die SQL-Anweisung UPDATE falsch Interpretiert wird !
Das UPDATEN soll in einem MEMO BLOB geschehen.
z.B.

ausblenden Delphi-Quelltext
1:
2:
3:
wert:='Heute komme "ich nach Hause:", baby';

Query1.SQL.Text:=('UPDATE irgendwas SET dashier='''+wert+''' WHERE Nummer=nr');


Bei dieser Anweisung bekomme ich eine Fehlermeldung !
Der String [wert] wird irgendwie als Feld Interpretiert.

Setze ich in den String [Wert] das Anführungszeichen vor dem Doppelpunkt, dann bekomme ich keine Fehlermeldung.

Wie kann ich mit Sicherheit jedes Zeichen in einen MEMO BLOB schreiben ?
Probleme treten meist immer mit Anführungszeichen auf. Und wie ich noch herausfand auch mit Doppelpunkten.


Hat jemand eine Lösung ???


Mit freundlichen Gruß

Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: So 10.08.03 16:59 
versuche nicht, das ganze in '' zu setzen, geht in der Regel schief, wenn der String selbst ein ' enthält.
Benutze QuotedStr() in deiner SQL z.b.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
var 
  Test = Oma's Katze Karli ; // ich lass mal die Hochkommas weg, damits auffällt

sql.text:= '
insert into xxx ...values ='+QuotedStr(Test)+' where....';

sollte dann keine Probleme mehr geben.

grez
msch