# INSERTDATA

#### Syntax <a href="#syntax.22" id="syntax.22"></a>

**INSERTDATA**(table)

* *table* - ein Tabellen-Widget, das die Datensätze enthält, die in die Datenquelle eingefügt werden sollen - ***Wertetyp**: Tabellen-Widget*

#### Bemerkungen

* *table* muss ein Tabellen-Widget sein, dem eine Datenbankverbindung zugewiesen ist, mit den folgenden Informationen:
  * eine Verbindung zu einer relationalen Datenbank
  * eine Datenbanktabelle
  * die Datenbankspalten, die beim Zurückschreiben mit berücksichtigt werden sollen. Wenn Spalten nicht mit angegeben werden, so werden diese beim Zurückschreiben nicht geändert, bzw. mit "null" gefüllt, wenn der Datensatz neu angelegt wird.
    * Schlüsselspalten sollten mit der Eigenschaft „Key“ gekennzeichnet sein.
* Die Datensätze werden wie folgt eingefügt bzw. geändert:
  * Wenn es bereits einen Datensatz mit den angegebenen Schlüsselspaltenwerten in der Datenbanktabelle gibt, wird der vorhandene Datensatz überschrieben.
  * Wenn nicht, wird der Datensatz als neuer Datensatz der Datenbank-Tabelle hinzugefügt.
  * Wenn keine Schlüsselspalte angegeben wird, werden immer alle Datensätze hinzugefügt.
* Das Widget, welches die INSERTDATA Funktion ausführt, muss nicht mit der Datenquelle verbunden sein.

#### Beispiele

*Beispiel 1 - Ändern der gesamten Datenbanktabelle*

Die Tabelle *WineList* wird mit der Funktion GETDATA gefüllt und zeigt die Daten aus der Datenbanktabelle *WineList*. Die Spalte *Name* hat die Eigenschaft „Schlüsselspalte“.

<figure><img src="https://2811933300-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnqJ9EkNaXVzEBF0wgp7y%2Fuploads%2Fgit-blob-364bc02ed47d355eaabaf9c7654b0a09b1717ba3%2Fgrafik.png?alt=media" alt=""><figcaption></figcaption></figure>

Wenn der Inhalt dieser Tabelle geändert werden soll, genügt ein einziger Aufruf der Funktion INSERTDATA, wobei die Tabelle als Parameter verwendet wird.

<figure><img src="https://2811933300-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnqJ9EkNaXVzEBF0wgp7y%2Fuploads%2Fgit-blob-027494e3677888bb2eab1774a27d0ebedcadfc8b%2Fgrafik.png?alt=media" alt=""><figcaption></figcaption></figure>

*Beispiel 2 - Hinzufügen eines einzelnen Datensatzes*

Der Inhalt der Datenbanktabelle aus Beispiel 1 kann auch durch ein anderes Tabellen-Widget geändert werden. In diesem Beispiel soll ein einzelner neuer Datensatz hinzugefügt werden. Dazu sollten die Einstellungen der zweiten Tabelle im Tab *Connection* die gleichen sein wie bei der Tabelle *WineList*.

<figure><img src="https://2811933300-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnqJ9EkNaXVzEBF0wgp7y%2Fuploads%2Fgit-blob-1560225cf95ff24e229fdc4e5034d4cfb1ff23e9%2Fgrafik.png?alt=media" alt=""><figcaption></figcaption></figure>

Bitte beachten, dass hier die zweite Tabelle nicht mit der Funktion GETDATA gefüllt wird. Diese kann stattdessen mit beliebigen Datensatz-Inhalten befüllt werden, z.B. manuell oder über andere Formeln.

Nun können einzelne oder mehrere Datensätze hinzugefügt oder geändert werden, indem Sie auf die Schaltfläche *addWine* klicken.

<figure><img src="https://2811933300-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnqJ9EkNaXVzEBF0wgp7y%2Fuploads%2Fgit-blob-8047ff39c20fcd8dbcbb808add41dc500fe4ec99%2Fgrafik.png?alt=media" alt=""><figcaption></figcaption></figure>

*Beispiel 3 - Einzelne Werte ändern oder hinzufügen*

Wenn nur ein einziger Wert für einen Datensatz hinzugefügt oder geändert werden soll, müssen die anderen Datenbankspalten nicht angegeben werden.

<figure><img src="https://2811933300-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnqJ9EkNaXVzEBF0wgp7y%2Fuploads%2Fgit-blob-d79f57727ce26480d65d081e0943acd587405974%2Fgrafik.png?alt=media" alt=""><figcaption></figcaption></figure>
