Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: SQLite ganz einfach (via Unit).. wie ? [D6]

  Alt 31. Mär 2016, 14:54
Wir würdet ihr Fehlerzustände umgehen (zb Datenbank nicht gefunden etc).
Also zuallererst solltest du mit FileExists() überprüfen, ob die Datei existiert. Wenn du dann die Datenbank geöffnet hast, dann ist die Datei im Normalfall gesperrt, sodass diese nicht mehr gelöscht/umbenannt/verschoben werden kann. Ich habe das trotzdem mit Hilfe eines Programmes mal nachgestellt und den Zugriff auf die Datei gekillt. Mein Programm wirft dann eine Fehlermeldung "disk I/O error" (SQLite Fehlercode 10) aus. Die DLL schützt sich somit also selbst vor dem Zugriff auf eine nicht (mehr) existierende Datenbank. Du musst dann nur noch entsprechend die Fehlermeldung auslesen und ggf. ausgeben.

Ich habe mir einen eigenen Wrapper für die DLL geschrieben und noch ein paar DLL-Aufrufe hinzugefügt, die in der von dir verwendeten Unit nicht existieren. Entweder weil es diese noch nicht gab als der Wrapper geschrieben wurde oder weil der Autor des Wrappers diese für nicht sinnvoll angesehen hat. In meinen Augen sind das aber sehr wichtige Funktionen wenn man tiefer in die Datenbank eingreifen will und nicht nur Daten einer Tabelle auslesen will.
  Mit Zitat antworten Zitat