VT-Daten speichern

Anfang  Zurück  Vor

Letzte Änderung 03.01.2014

 

Persistierung (Änderungen in Datenbank speichern)

 

Auch das Speichern sämtlicher Daten erfolgt immer über eine Virtuelle Tabelle. Dazu werden die zu speichernden Daten zuerst in die Virtuelle Tabelle geschrieben, z.B. mit Hilfe eines Formulars oder durch Editieren der Daten direkt in einer XdevTable. Anschließend wird die Virtuelle Tabelle mit der verknüpften Datenbanktabelle synchronisiert, wobei ausschließlich die geänderten Daten gespeichert werden. Dafür ist nur 1 Methodenaufruf synchronizeChangedRows( ) erforderlich. Der Methodenaufruf muss in einem Try-Catch Block stehen.

 

Virtuelle Tabelle mit Datenbank-Tabelle synchronisieren - Die auf der Oberfläche in einer Table editierten Daten werden immer direkt in die Virtuelle Tabelle geschrieben. Um editierte Daten zu speichern, müssen Sie daher die Virtuelle Tabelle mit der entsprechenden Datenbank-Tabelle synchronisieren. Die Speicherung der Daten erfolgt automatisch als Transaktion.

try
{
   Fahrzeuge.VT.synchronizeChangedRows();
}
catch(DBException e)
{
   e.printStackTrace();
}

Formular speichern - Die Formular-Methode save( ) speichert den Formular-Datensatz in einer Virtuellen Tabelle und synchronisiert diese anschließend automatisch mit der entsprechenden Datenbank-Tabelle.

try
{
   Formular.save();
}
catch(DBException e)
{
   e.printStackTrace();
}

 

 

Voraussetzung für eine erfolgreiche Synchronisation einer Virtuellen Tabelle mit einer entsprechenden Datenbanktabelle:

Virtuelle Tabelle im VT-Editor bei Tabelle mit der korrekten Datenbanktabelle verknüpft, insbesondere bei unterschiedlichen Tabellennamen

Gleichnamige Spaltennamen

Gleiche oder entsprechende Datentypen

Alle (als persistent definierten) Spalten der Virtuellen Tabelle müssen in der entsprechenden Datenbanktabelle vorhanden sein. Umgekehrt müssen jedoch nicht alle Spalten der Datenbanktabelle in der Virtuellen Tabelle vorhanden sein

Im Idealfall ist die Virtuelle Tabelle ein exaktes Abbild der entsprechenden Datenbanktabelle.