Programmieren mit dBASE PLUS: params


Mit dieser Eigenschaft werden die Parameter für eine SQL-Anweisung oder für den Aufruf einer Stored Procedure festgelegt.

Eigenschaft von

Bearbeiten

Query, StoredProc,

Beschreibung

Bearbeiten

Die Eigenschaft params enthält ein assoziatives Array mit Parameternamen und -werten (falls vorhanden) für eine SQL-Anweisung in einem Query-Objekt oder für den Aufruf einer Stored Procedure in einem StoredProc-Objekt.

Wenn in einem Query-Objekt der Eigenschaft sql eine SQL-Anweisung mit Parametern zugewiesen wird, werden die entsprechenden Elemente im Array params angelegt. Parameter werden durch einen Doppelpunkt gekennzeichnet. Die Werte, die Sie ersetzen wollen, werden dann den Array-Elementen zugewiesen. Dies kann auf zwei Arten erfolgen:

- Manuell, bevor die Abfrage aktiviert oder mit requery( ) erneut durchgeführt wird.

- Durch Zuweisen der Eigenschaft masterSource an die Abfrage. In diesem Fall werden die Parameter durch die entsprechenden Felder des fields-Arrays der rowset -Eigenschaft der Master-Abfrage (masterSource) ersetzt. Die Zuweisung der Felder an die Parameter erfolgt über den Feldnamen.

Bei einem StoredProc-Objekt versucht die BDE, die Namen und Typen der benötigten Parameter über eine Stored Procedure zu ermitteln, nachdem der Name der Prozedur der Eigenschaft procedureName zugewiesen wurde. Ob dies funktioniert, ist vom verwendeten SQL-Server abhängig. Ist die Operation erfolgreich, wird das params-Array automatisch mit den entsprechenden Parameter-Objekten gefüllt. Die zu ersetzenden Werte müssen der value-Eigenschaft der betreffenden Objekte zugewiesen werden.

Wenn der SQL-Server die benötigten Informationen für die Stored Procedure nicht zur Verfügung stellt, müssen die Parameter nach dem Prozedurnamen in Klammern angegeben werde. Die einzelnen Parameter werden dabei durch einen Doppelpunkt eingeleitet. Die entsprechenden Parameter-Objekte im params-Array werden dann automatisch erstellt. Sie müssen anschließend nur noch die erforderlichen type- und value-Informationen angeben.