Um die Verwendung im Code zu verdeutlichen:
Delphi-Quellcode:
Query1.SQL.Text := 'INSERT INTO Categories (CategoryName, Description, Picture) VALUES (:N, :D, :P)';
Query1.ParamByName['N'].AsString := 'New category';
Query1.ParamByName['D'].AsString := 'New description';
Query1.ParamByName['P'].AsInteger := $0334;
Query1.Execute;
Das würde genau das ausführen, was du in deinem Beispiel gezeigt hast. Die möglichen Vorteile wurden ja bereits von DeddyH genannt. Zudem empfinde ich es schlicht als besseren Stil Parameter zu nutzen, statt umständlich in Strings umgewandelte und ''gequotedte'' Ausdrücke zu nehmen.
Man könnte die Parameter allerdings noch sprechender benennen für meinen Geschmack. Auch kann man sie statt mit ParamByName() indiziert via Params[i] referenzieren, finde ich aber nicht so schön, da dann die Reihenfolge im
SQL-Statement wichtig wird. Man kann übrigens auch denselben Parameter mehrmals im selben
SQL-Statement verwenden, was in manchen Fällen auch praktisch sein kann.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)