von Steffan » Mo, 18.09.2006 13:44
Hallo zusammen,
also das klappt so nicht.
ich habe in meinen Einzelfeldern vor Zusammensetzung des SQL-Befehlsstring die Hochkommas durch chr(39) ersetzen lassen und bekomme den gleichen Fehler.
Code: Alles auswählen
...
for i = 2 to 12
sEntry(i)=DoReplace(sEntry(i),"'", chr(39))
next i
...
private Function DoReplace(sText as String, sIn as string, sOut as string) as string
sOld=sText
for j= 1 to len(sText)
if mid(sText,j,1)= sIn then
mid(sText,j,1,sOut)
' msgbox "Alt:" & chr(9) & sOld & chr(13) & "Neu:" & chr(9) & sText,0,"Text geändert"
endif
next j
DoReplace=sText
End Function
Problem scheint mir zu sein, dass Hochkomma und chr(39) ja das Gleiche sind und mySQl dann bei der Verarbeitung keinen Unterschied sieht. Wie schon gesagt StarBasic hat damit kein Problem, erst bei der Abarbeitung durch mySQL (executeQuery) tritt der Fehler auf (You have an error in your SQL-Syntax).
Einzige Lösung die mir dazu einfällt, ist Hochkommata als Feldeintrag zu verbieten, aber vielleicht habt ihr ja doch noch eine andere Idee.
Steffan.
Hallo zusammen,
also das klappt so nicht.
ich habe in meinen Einzelfeldern vor Zusammensetzung des SQL-Befehlsstring die Hochkommas durch chr(39) ersetzen lassen und bekomme den gleichen Fehler.
[code]...
for i = 2 to 12
sEntry(i)=DoReplace(sEntry(i),"'", chr(39))
next i
...
private Function DoReplace(sText as String, sIn as string, sOut as string) as string
sOld=sText
for j= 1 to len(sText)
if mid(sText,j,1)= sIn then
mid(sText,j,1,sOut)
' msgbox "Alt:" & chr(9) & sOld & chr(13) & "Neu:" & chr(9) & sText,0,"Text geändert"
endif
next j
DoReplace=sText
End Function
[/code]
Problem scheint mir zu sein, dass Hochkomma und chr(39) ja das Gleiche sind und mySQl dann bei der Verarbeitung keinen Unterschied sieht. Wie schon gesagt StarBasic hat damit kein Problem, erst bei der Abarbeitung durch mySQL (executeQuery) tritt der Fehler auf (You have an error in your SQL-Syntax).
Einzige Lösung die mir dazu einfällt, ist Hochkommata als Feldeintrag zu verbieten, aber vielleicht habt ihr ja doch noch eine andere Idee.
Steffan.