Hallo,
Delphi-Quellcode:
SqlState := Format('INSERT INTO %s (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) VALUES(%d, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);',
[TableNameKANummer,
feldKANummer,
...............
QuotedStr(KAdata.McTyp),
...............
Ich habe letztens gelesen, dass man QuotedStr nicht nutzen soll. Aber wie kann ich die Daten so in die
DB schreiben, dass es keine Fehlermeldung gibt?
Die Kollegen haben dir nur gezeigt, wie es besser geht, aber leider nicht gesagt was du das falsch machst.
Man baut SQLs NIEMALS als String zusammen und schon gar nicht, fügt man die Daten dort ein! Das ist ein NOGO!
Du erzeugt damit die Möglichkeit
SQL-Injections zu machen. Das solltest du ganz dringend mal erforschen und nachlesen!
SQL-Injections werden übrigens viel eingebaut, weil viele das nicht richtig über Parameter lösen. Dadurch ist
SQL-Injection eine der größten Sicherheitsprobleme, welche eingebaut werden:
siehe
https://owasp.org/www-project-top-te...2017-Injection