Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

MethodeBeschreibung
run

Diese Methode ermöglicht die Ausführung einer Datenbankabfrage. Im Methodenaufruf muss die Datenquelle aus "Report und Formular" angegeben werden.

Der Rückgabewert der Methode ist ein DatasourceResult-Objekt, das die gefundenen Treffer (rows) und die abfragbaren Spalten (columns) beinhaltet.

Codeblock
public DatasourceResult run(Class<? extends Datasource> datasourceClass) throws BusinessException;

Für eine Datenabfrage können u.U. Parameter zur Präzisierung der Abfrage notwendig sein. In diesem Fall gibt es eine zweite run-Methode(), die eine Map mit den Werten an die Abfrage weiterleiten kann:

Codeblock
public DatasourceResult run(Class<? extends Datasource> datasourceClass, Map<String, Object> params) throws BusinessException;

 

Das DatasourceResult - Objekt stellt das Gesamtergebnis Suchergebnis der Abfrage Datenbankabfrage dar. Hauptbestandteile sind:

  • rows (Gefundene Zeilen/Treffer der angegebenen Datenbankabfrage; Jede Zeile wird als Object[] -Array dargestellt, wobei jedes Object in diesem Array den Inhalt der entsprechenden Spalte aufnimmt)
  • cols (Spalten vom Typ DatasourceColumn, welche welches die Metainformationen Spaltenname und Spalten-Datentyp beinhaltet und von der Datenabfrage verwendet werden); Jede gefundene Zeile/row besitzt die hier hinterlegten Spalten)

Die Abfrage der Ergebnisse basiert auf folgendem Prinzip: Iteriert werden die Ergebnisse mittels getRow(Zeilenindex). Jede Zeile wird als Object[] Array zurückgeliefert, wobei jedes Object in diesem Array den Inhalt der entsprechenden Spalte aufnimmt. Möchte man auf diesen Wert einen bestimmten Spaltenwert in diesem Object[] typisiert zugreifen, erhält man mittels Aufruf getColumns().get(Spaltenindex) die Metainformation der gewünschten Spalte und kann den Wert getRow(Zeilenindex)[Spaltenindex] dem Klassentyp entsprechend casten oder mit dem Spaltennamen beschriften.

Ein Beispiel finden Sie hier.

...