Formulare speichern

Anfang  Zurück  Vor

Letzte Änderung 05.01.2011

 

Für das Speichern eines Formulars bietet Ihnen das Formular die Methode save( ). Die Methode liest zuerst alle Formular-Komponenten aus und überträgt die Werte in die jeweils verknüpften Datenfelder einer Virtuellen Tabelle.  Die Übertragung von Werten in verschiedene Virtuelle Tabellen ist explizit nicht erlaubt. Beim Auslesen der Daten werden Eingabeprüfungen durchgeführt, falls bei den Formular-Komponenten entsprechende Einstellungen in den Eigenschaften vorgenommen wurden, z.B. Mussfeld, Min/Max-Wert etc.

 

Anschließend wird der Datensatz persistiert, sprich in die entsprechende Datenbank-Tabelle geschrieben. Dabei prüft die Methode automatisch, ob es sich um einen neu angelegten Datensatz handelt der dann mit der Formular-Methode insert( ) in der Datenbank abgespeichert wird, oder ob der Formular-Datensatz bereits in der Datenbank existiert und mit Hilfe des Formulars lediglich editiert wurde und demnach mit der Formular-Methode update( ) in der Datenbank-Tabelle überschrieben werden muss.

 

 

clip0069

 

 

try

{

   formular.save();

}

catch(DBException e)

{

   e.printStackTrace();

}

 

 

Mit dem Methodenaufruf save(false) lässt sich ein Formular-Datensatz zunächst nur in die Virtuelle Tabelle übertragen. Die Persistierung in der Datenbank wird damit verschoben und kann zu einem späteren Zeitpunkt mit Hilfe der VT-Methode synchronizeChangedRows( ) erfolgen.

 

// Speicherung nur in der Virtuellen Tabelle

try

{

   formular.save(false);

}

catch(DBException e)

{

   e.printStackTrace();

}

 

// Speicherung der Virtuellen Tabelle zu einem 

   späteren Zeitpunkt

try

{

   Fahrzeuge.VT.synchronizeChangedRows();

}

catch(DBException e)

{

   e.printStackTrace();

}

 

Hinweis: Der Methodenaufruf formular.save() muss in einem try-catch Block ausgeführt werden.

 

 

Zugriff auf generierte Datensatz-ID

 

Oftmals wird die von der Datenbank vergebene ID eines gespeicherten Datensatzes sofort wieder benötigt, u.a. für die Speicherung von Zusatzinformationen, die mit Hilfe einer Hilfstabelle gespeichert werden (n:m Verknüpfung). Um zu einem neuen Fahrzeug-Datensatz beispielsweise auch Fahrzeug-Extras (Alu, Leder, Servo, Klima etc.) speichern zu können, wird die ID des Fahrzeug-Datensatzes benötigt. Deshalb wird beim Speichern eines neuen Datensatzes mit der Formular-Methode save( ) die von der Datenbank generierte ID des neuen Datensatzes automatisch in die Virtuelle Tabelle in das Datenfeld ID zurück geschrieben.

 

Hinweis: Diese Funktion wird nicht von allen 5 Datenbank-Schnittstellen unterstützt.