Hallo Leo,

hmm, nur ein paar kurze Bemerkungen (ich glaube, die Gesamtproblematik ist komplexer und ohne den kompletten Code zu kennen kaum lösbar...)

Zu den Fehlern:

1. In Zahlen-Felder, die in der Ursprungstabelle keine Einträge
enthalten, wird in die Zieltabelle immer die Zahl 0 (Null) importiert.

Tia, das hängt doch von deinen Variablen ab. Wenn in der DB ein Zahlenfeld definiert wird, steht dort immer eine Zahl drin oder eben (Null) nichts. wenn Du das ausliest mit getLong() wird immer ein Longwert zurückgeliefert - also bei leeren Feldern eine 0. Eine Longvariabel in Basic kann den Wert "nichts" nicht annehmen.

hier müsstest Du nicht den LongWert abfragen, sondern den Stringwert (getString) - der liefert Dir entweder den Wert als String(Text) oder eben einen leeren String.

Das kannst Du auch problemlos der DB wieder zuweisen - ist das DB Feld als Zahlwert definiert (long oder integer) so wird ein String passen umgewandelt - und ein leerer String wird zu "nichts";) (Vorausgesetzt, dass ist in der DB Definition zulässig).  Aber das machst Du ja sowieso - du weist allen Feldern Strings zu (erkennbar an den einfachen Hochzeichen).

Also: Viele Variablen und viele Möglichkeiten - aber so, wie das derzeit im Code gelöst ist, wird es korrekterweise 0 ergeben:)

Beim Code fällt mir noch auf: Wahrscheinlich wäre die IGNORE Anweisung sinnvoller, als zunächst abzufragen, ob die ID schon existiert. Bin mir aber nicht sicher, ob die HSQLDB diese überhaupt unterstützt.

So weit erst einmal , viele Grüße

Thomas


Am 20.01.2020 um 14:16 schrieb Leo-Hubert Kappes:
Hallo Users,

ich habe eine Datenbank für die Imkerei als eingebettete HSQLDB in Base
erstellt.

[..ToFu entsorgt...]


--
Liste abmelden mit E-Mail an: [email protected]
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Antwort per Email an