Sicherheitstechnisch kann da nicht viel passieren, wenn denn alles stimmt. Allerdings sind Tür und Tor für Fehler weit geöffnet. Valeo Pupsus
liefert gleich ein schönes Bsp. Dieses lässt sich sicherlich in der Art nicht compilieren wegen Schreibfehler. Er hat vergessen aus dem ' im String ein '' zu machen. Wäre der Ausdruck syntaktisch zwar korrekt, aber nicht logisch dann kracht es zur Laufzeit umso mehr. Delphi würde bei diesem sinnlosen
SQL-String nicht mal meckern :
Q.SQL.Text := 'jhlkkjhjkhkl';
Jetzt wird aber nicht nur ein Feld manuell besetzt, sondern sogar das ganze Insert-Statement. Durch schlichtes Zusammensetzen eines Strings und diesen dann an die
DB schicken. Diese Strings werden meistens viel zu lang und deshalb unübersichtlich. Warum werden die (vorhandenen) Methoden von TDataSet nicht benutzt ?
Delphi-Quellcode:
Edit1.Text := 'An Klas''Kotten 10'; // falls Wert von Hand besetzt wird ' -> ''
DS.Insert;
DS.FieldByName('NAME').AsString := Edit1.Text;
.. weitere Felder
DS.Post;
// Commit usw.