Hallo, ich klink mich auch wieder ein
Generell würde ich jedem abraten eine
SQL-Anweisung ohne Parameter zu verwenden. Bei
Access Datenbanken mag das ja keine Auswirkungen haben, aber hat man einen
SQL Server dann muss eine Anweisung dieser Art
adoquery1.sql.Add ('select * from tabelle1 where tordiff = ' + ed_such.text)
vom Server jedesmal beim Ausführen neu geparst, und der jeweilige Ausfürungsplan neu erstellt werden.
Hat man hier eine Multiuserumgebung (z.Bsp. einen Internetserver) wird diese Datenbank früher oder später den Geist aufgeben.
Werden stattdessen Parameter verwendet kann sich der Server auf die zuletzt geparste Anweisung verlassen und braucht nur noch die Parameterwerte auszutauschen.
Bsp.:
Delphi-Quellcode:
procedure Tfrm_spiele.bt_suchClick(Sender: TObject);
var such :integer;
begin
adoquery1.Close;
adoquery1.sql.Clear;
such := strtoint(ed_such.text);
adoquery1.sql.Text := 'select * from tabelle1 where TorDiff = :such';
adoquery1.Parameters.ParamByName('such').Value := such;
adoquery1.Open;
end;
Auch wenn man keinen Datenbankserver zur Verfügung hat würde ich trotzdem vorschlagen gleich auf diese Technik zu setzten, weil die Anwendung auch besser skalierbar wird.