Datenverlust mit Base

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Datenverlust mit Base

Re: Datenverlust mit Base

von TZeRo » Do, 01.12.2011 15:29

:D :D :D Danke klappt soweit wunderbar! Werde die Datenbank umstricken auf MySql in naher Zukunft!

**CLOSED**

Re: Datenverlust mit Base

von gogo » Mi, 30.11.2011 22:15

Musst Du bei Dir ausprobieren - nachdem's ja jedes Mal einen Datenverlust gibt sollte der Fehler leicht nachzustellen sein. Wenn alles nicht hilft: eine Backend-Datenbank probieren, da sollte das nicht vorkommen.

Re: Datenverlust mit Base

von TZeRo » Mi, 30.11.2011 21:32

Vielen Dank auf den Verweis. Eine kleine Zeile die Wunder bewirkt! Soweit ich das verstanden habe speichert OpenOffice die Daten bei der intregierten Datenbank zwischern. Um die Daten aus dem Zwischenspeicher endgültig zu speichern, brauch OpenOffice ein Befehl. Wie ist es bei einer MySQL Datenbank?

Code: Alles auswählen

DataSource.flush
Hier mal mein Code mit .flush

Code: Alles auswählen

sub DatensatzSpeichern()
DIM oDoc, oForm As Object
DIM DatabaseContext, ODataSource, oCon As Object
   DatabaseContext   = createUnoService("com.sun.star.sdb.DatabaseContext")
   DataSource            = DatabaseContext.getByName("db_versand")
   oCon                      = DataSource.GetConnection("","")
   odoc                      = thiscomponent
   oform                    = odoc.drawpage.forms.getbyindex(0)
On Error Goto ErrorBehandlung
If oForm.isNew Then
  oForm.insertRow
  MsgBox "Daten wurden hinzugefügt"
  DataSource.flush
ElseIf oForm.isModified Then
  oForm.updateRow
  MsgBox "Daten wurden aktualisiert"
  DataSource.flush  
else 
  exit sub
End If
exit sub
 ErrorBehandlung:
 MsgBox "Keine DATEN eingegeben!"
end sub
Ich habe auch die Zeile mit oDoc.store aus dem Code genommen.

Re: Datenverlust mit Base

von gogo » Di, 29.11.2011 11:06

Datenverlust mit Base

von TZeRo » Di, 29.11.2011 10:17

Moin Liebe Gemeinde,

ich bin langsam am verzweifeln. Ich habe ein ausgelagertes Formular erstellt, dieses füllt eine Datenbank (OpenOffice Datenbank HSQL). Das Formular besitzt eine Schaltfläche "Datensatz speichern" das ich mit folgenden Code hinterlegt habe:

Code: Alles auswählen

sub DatensatzSpeichern()
DIM oDoc, oForm As Object
DIM DatabaseContext, ODataSource, oCon As Object
	DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
	DataSource		= DatabaseContext.getByName("db_versand")
	oCon 			= DataSource.GetConnection("","")
	odoc		                = thiscomponent
	oform	           	= odoc.drawpage.forms.getbyindex(0)
On Error Goto ErrorBehandlung
If oForm.isNew Then
  oForm.insertRow
  MsgBox "Daten wurden hinzugefügt"
ElseIf oForm.isModified Then
  oForm.updateRow
  MsgBox "Daten wurden aktualisiert"
  else 
  exit sub
End If
odoc.store
exit sub
 ErrorBehandlung:
 MsgBox "Keine DATEN eingegeben!"
end sub
Nun zum Problem was ich habe, wenn man den PC herunterfährt und wieder hochfährt sind die eingegebenden Daten nicht in der Datenbank gespeichert. Wie bekomme ich es hin, dass die Daten dauerhaft in der Datenbank gespeichert werden. Ich hoffe das ihr mir helfen könnt!

Euer
Tzero

Nach oben