Von Version < 37.1 >
bearbeitet von nlo
am 09.05.2019, 11:02
Auf Version < 6.1 >
bearbeitet von awa
am 09.04.2019, 16:14
< >
Änderungskommentar: Renamed back-links.

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.nlo
1 +XWiki.awa
Inhalt
... ... @@ -8,17 +8,14 @@
8 8  
9 9  == Anlegen einer SQL-Abfrage ==
10 10  
11 -{{id name="data_db_query"/}}
12 -{{figure image="data_db_query_de.png"}}Die Konfigurationsoberfläche zum Anlegen einer SQL-Abfrage besteht aus vier Teilen: (1) Liste der existierenden Datenbank-Abfragen, (2) Editor zum Definieren der SQL-Abfrage, (3) Einstellungen der Datenbank-Abfrage, (4) Konsole zum Testen der Datenbank-Abfrage.{{/figure}}
11 +{{figure image="db-abfrage.jpg" width="300"}}
12 +Anlegen einer SQL-Abfrage in {{formcycle case="dat"/}}
13 +{{/figure}}
13 13  
14 -* Öffnen Sie das Modul "DB-Abfragen" und klicken Sie auf die Schaltfläche "Neu" {{ficon name="plus-circle-outline"/}} in der Kopzeile der Liste (siehe [[Abbildung>>||anchor="fig_data_db_query"]]).
15 -* Für die Datenbank-Abfrage werden folgende Daten benötigt:
16 -** **Name**: Ein eindeutiger Name der Datenbank-Abfrage
17 -** **Beschreibung**: Eine optionale Beschreibung der Datenbank-Abfrage
18 -** **Verbindung**: Die [[DB-Verbindung>>doc:DBConnections]], die verwendet werden soll
15 +* Vergeben Sie einen eindeutigen Namen.
16 +* Wählen Sie die Verbindung zur Datenbank
17 +* Im Feld //Abfrage// geben Sie die SQL-Abfrage ein.
19 19  
20 -* Die eigentliche **SQL-Abfrage** wird im Editor in der Mitte einegeben (siehe [[Abbildung>>||anchor="data_db_query"]]).
21 -
22 22  Das eingegebene Statement wird als //Prepared-Statement// ausgeführt, so dass keine sogenannte //SQL-Injection// moglich ist. Verwenden Sie daher auch keine Hochkommas. Prinzipiell können auch Übergabeparameter verwendet werden. In der Abfrage setzen Sie an die Stelle des Übergabeparameters ein Fragezeichen {{code}}?{{/code}}.
23 23  
24 24  == Verwenden der Abfrage ==
... ... @@ -29,7 +29,6 @@
29 29  http://<server>/formcycle/datenabfragedb
30 30  {{/code}}
31 31  
32 -Die Servlet-URL wird unterhalb der Einstellungen angezeigt (siehe [[Abbildung>>||anchor="data_db_query"]]).
33 33  Folgende URL-Parameter sind hierbei möglich:
34 34  
35 35  {{table dataTypeAlpha="0" preSort="0-asc"}}
... ... @@ -43,29 +43,12 @@
43 43  |delimiter|Trennzeichen, welches die einzelnen Werte des //queryParameter// trennt. Standardmäßig ein Komma {{code}},{{/code}}.|Nein
44 44  {{/table}}
45 45  
46 -Bei Zugriff aus einem Formular verwenden Sie bitte immer das globale Variablenobjekt //XFC_METADATA//, siehe hierzu auch die [[Metadaten>>doc:Formcycle.FormDesigner.CodingPanel.ScriptTab.FormMetadata]]. In diesem Objekt stehen alle relevanten URLs von {{formcycle case="dat"/}} zur Verfügung, sodass diese Beispielhaft wie folgt ermittelt werden kann: {{code language="javascript"}}XFC_METADATA.urls.datasource_db{{/code}}.
42 +Bei Zugriff aus einem Formular verwenden Sie bitte immer das globale Variablenobjekt //XFC_METADATA//, siehe hierzu auch die [[formularspezifischen JavaScript-Objekte>>doc:Formcycle.FormDesigner.CodingPanel.ScriptTab.FormSpecificJavaScriptObjects]]. In diesem Objekt stehen alle relevanten URLs von {{formcycle case="dat"/}} zur Verfügung, sodass diese Beispielhaft wie folgt ermittelt werden kann: {{code language="javascript"}}XFC_METADATA.urls.datasource_db{{/code}}.
47 47  
48 48  Ferner empfehlen wir, innerhalb des Formulars die Skriptfunktion [[getDataQuery>>doc:Formcycle.FormDesigner.CodingPanel.ScriptTab.AdditionalScriptFunctions.GetDataQuery]] zu verwenden, die das manuelle Aufbauen der Servlet-Abfrage erspart.
49 49  
50 50  Die Rückgabe des Abfrage-Ergebnisses erfolgt im //JSON//-Format und kann somit innerhalb des Formulars direkt genutzt werden.
51 51  
52 -== Testen der Abfrage ==
53 -
54 -{{id name="data_db_query_test"/}}
55 -{{figure image="data_db_query_test_de.png"}}Konsole zum Testen der Datenbankabfrage. Im Header befindet sich eine Reihe von Buttons zur Steuerung der Abfrage.{{/figure}}
56 -
57 -Datenbank-Abfragen können direkt in der Konfigurationsoberfläche getestet werden. Hierzu steht eine Testkonsole unterhalb des SQL-Editor zur Verfügung (siehe [[Abbildung>>||anchor="fig_data_db_query_test"]]).
58 -Im Header der Testkonsole befindet sich eine Reihe von Buttons zur Steuerung der Abfrage:
59 -
60 -* {{ficon name="database-search"/}}**Abfrage ausführen**
61 -Führt die Datenbank-Abfrage aus. Werden //Abfrageparameter// ({{code}}?{{/code}}) verwendet, wird der Nutzer aufgefordert Werte für diese Parameter einzugeben. Ist dies nicht der Fall wird das Ergebnis der Abfrage direkt in der //Tabellenansicht// dargestellt.
62 -* {{icon name="question"/}}**Abfrageparameter**
63 -Maske zum Eingeben von Abfrageparameter. Diese Option steht nur zur Verfügung, wenn Abfrageparameter ({{code}}?{{/code}}) in der SQL-Abfrage verwendet werden. Ein Klick auf "Parameter für Abfrage verwenden" {{ficon name="arrow-right-bold-circle-outline2"/}} führt die Abfrage mit den eingebenen Parametern aus. Das Ergebnis wird in der //Tabellenansicht// dargestellt.
64 -* {{ficon name="table-large"/}}**Tabellenansicht**
65 -Abfrageergebnis in Tabellenform
66 -* {{icon name="code"/}}**Quellcodeansicht**
67 -Abfrageergebnis im JSON-Format
68 -
69 69  == Sonderfall Auswahlelement ==
70 70  
71 71  Soll das Ergebnis einer Datenbankabfrage direkt in ein [[Auswahlelement>>doc:Formcycle.FormDesigner.FormElements.Selection]] geladen werden, erfolgt dies über die Eigenschaften des Auswahlelements im {{designer case="dat"/}}.
... ... @@ -95,7 +95,7 @@
95 95  select name, vorname from tabelle where vorname like(?)
96 96  {{/code}}
97 97  
98 -Diese SQL-Abfrage liefert die Namen aller Personen zurück, die einen bestimmten Vornamen haben. Nach welchem Vornamen gesucht werden soll, kann über einen URL-Parameter angegeben werden.
77 +Diese SQL-Abfrage liefert die Namen aller Personen zurück, die einen bestimmten Vornamen haben. Nach welchem Vornamen gesucht werden soll, kann über einen URL-Parameter angegeben werden.
99 99  
100 100  Abfrage per Servlet: {{code}}http://meinserver/formcycle/datenquelledb?mandantName=ich&name=demo&sqlParameter=Mustermann{{/code}}
101 101  
data_db_query_de.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.nlo
Größe
... ... @@ -1,1 +1,0 @@
1 -50.7 KB
Inhalt
data_db_query_en.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.nlo
Größe
... ... @@ -1,1 +1,0 @@
1 -49.2 KB
Inhalt
data_db_query_example_de.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.nlo
Größe
... ... @@ -1,1 +1,0 @@
1 -1.5 KB
Inhalt
data_db_query_test_code_de.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.nlo
Größe
... ... @@ -1,1 +1,0 @@
1 -11.6 KB
Inhalt
data_db_query_test_de.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.nlo
Größe
... ... @@ -1,1 +1,0 @@
1 -4.8 KB
Inhalt
data_db_query_test_param_de.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.nlo
Größe
... ... @@ -1,1 +1,0 @@
1 -8.0 KB
Inhalt
data_db_query_test_sql_de.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.nlo
Größe
... ... @@ -1,1 +1,0 @@
1 -6.2 KB
Inhalt
data_db_query_test_table_de.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.nlo
Größe
... ... @@ -1,1 +1,0 @@
1 -9.5 KB
Inhalt
Copyright 2000-2024