Zitat von
Nico80:
Also wenn ich das richtig verstanden habe mache ich das mit prepared Statements wie folgt:
Delphi-Quellcode:
if not DataSet.Prepared then
DataSet.Close,
DataSet.SelectSQL := 'Select * from Tabelle where id=:Param';
DataSet.Prepare;
end;
Das ist halbrichtig, aber nicht ganz.
Grundlegende Vorgehensweise würde so aussehen :
Delphi-Quellcode:
DataSet.Close,
DataSet.SelectSQL := 'Select * from Tabelle where id=:Param';
DataSet.ParamByName ('Param').AsString := edXY.Text; // sofern überhaupt Text für das Feld richtig
DataSet.Open; // die Datenmenge steht nun zur Verfügung für Next, Prior, EOF usw.
"Prepared" ?? Wo soll da ein Vorteil liegen. Habe das noch nie gebraucht.
Zitat von
Nico80:
Wie mach ich das denn, wenn ich in der WHERE-Klausel unterschiedliche Parameter habe (auch Anzahl verschieden)?
Oben das (sowieso falsche SelectSQL umbauen. Da fehlt das .Text). Mit Close und Open das neu laufen lassen, Parameter anpassen usw. Wirds noch komplizierter, dann den einfacheren Weg über eine stored Procedure wählen.