eva/3 Application BuilderEntwicklung von eva/3 AnwendungenArbeiten mit Datenbanken 

Dynamische SQL-Anweisung

Eine Dynamische SQL-Anweisung ermöglicht es, datenbankspezifische SQL Anweisungen in eva/3 Application Builder zu nutzen. Die Anweisungen werden von eva/3 Application Builder nicht entsprechend dem Dialekt der Datenbank verändert oder angepasst .

Der hauptsächliche Nutzen einer solchen DSQL-Anweisung liegt in der Ausführung datenbankspezifischer Anweisungen, welche von einer "normalen" SQL-Anweisung nicht unterstützt werden. Zusätzlich die Manipulation von Daten (UPDATE, INSERT, DELETE) nur über eine DSQL-Anweisung möglich.

Ist die DSQL-Anweisung dafür bestimmt, Daten auszulesen, kann diese als normale Datenquelle , über die Eigenschaft RecordSource, in Formulare und Berichte eingebunden werden. Möchte man diese allerdings anders verwenden empfiehlt es sich diese über den Systembefehl ExecuteSQLStatement auszuführen.

Anders als bei einer normalen eva/3 SQL-Anweisung werden hierbei keine Tabellennamen ersetzt. Das bedeutet dass man sich hierbei auf die tatsächlichen Tabellennamen der Datenbank beziehen muss. Es können allerdings Platzhalter für Systemvariablen und Feldwerte verwendet werden, so das currentForm!, currentReport!, sysvariable! und sysvariableraw! ersetzt werden.

Beispiel: Über ein Formular soll ein bestimmter Benutzer gelöscht werden:

Delete from users where u_id = currentForm!txt_BenutzerID

Bei der Ausführung würde nun der Benutzer, dessen u_id dem Inhalt des Feldes txt_BenutzerID entspricht, aus der Tabelle gelöscht werden. Ausgeführt wird die Anweisung durch den Systembefehl ExecuteSQLStatement