1: fast immer
2: kommt auf die Zugriffskomponenten drauf an, aber oftmals gibt es neben den FieldByName-Methoden auch die passenden ParamByName usw.
3: Sicherheit, Einfachheit, Sicherheit, Fehlerunanfälliger, Sicherheit, ...
Erstmal muß man die Strings nicht umständlich "quoten" und wenn man das nicht machen würde, dann ist man lebensmüde.
PS: Gerade das ist eines der Hauptgründe, warum sich jemand in irgendeine Webseite reinhacken konnte.
- Eingaben nicht oder nicht ausreichend geprüft
- Daten ungeschützt in SQLs eingebaut => Code-Injection
Stell es dir wie den Format-Befehl vor:
- Im
SQL-String gibt es Platzhalter, welche dann mit den eigentlichen Werten gefüllt werden, wobei hierbei die Datenbank/Zugriffskomponenten quasi aber die zugewiesenen Werte prüfen.
- Außerdem kann es schneller werden, da der
SQL-Parser das
SQL nur einmal pürfen/auswerten muß und man dann ganz schnell viele Werte/Datensätze verarbeiten kann, indem man nur noch die Parameterwerte anpasst.