Seite 1 von 1

SQLite Datenbankdatei erstellen

Verfasst: 27.06.2025 16:46
von stab
Hallo treue PB Freunde

ChatGPT behauptet:

In PureBasic muss die Datei nicht manuell vorher erstellt werden, denn OpenDatabase() mit SQLite sollte die Datei automatisch anlegen, wenn sie nicht existiert – aber nur, wenn der Pfad korrekt ist und du auch Schreibrechte hast.

Wenn du die Fehlermeldung "Fehler beim Erstellen der Datenbank" bekommst, liegt das meist an:
bla, bla (Pfad, Schreibrechte etc.)


✅ Sicher funktionierendes Minimalbeispiel

Hier ein getestetes Beispiel, das garantiert funktioniert, wenn du es in einem beschreibbaren Ordner startest:

Code: Alles auswählen


EnableExplicit
UseSQLiteDatabase() ; das habe ich noch eingefügt
Define dbFile.s = GetCurrentDirectory() + "meinedatenbank.db"
Define dbID.i

dbID = OpenDatabase(#PB_Any, dbFile, "", "", #PB_Database_SQLite)

If dbID
  Debug "✅ Datenbank erfolgreich erstellt: " + dbFile
  CloseDatabase(dbID)
Else
  Debug "❌ Fehler beim Erstellen der Datenbank: " + DatabaseError()
EndIf

es ist doch so, dass ich die Datei vorher erzeugen muss, oder?

Danke ...

Re: SQLite Datenbankdatei erstellen

Verfasst: 27.06.2025 16:55
von Kiffi
stab hat geschrieben: 27.06.2025 16:46es ist doch so, dass ich die Datei vorher erzeugen muss, oder?
ja, musst Du.

Vorgehensweise: Mit FileSize prüfen, ob die DB vorhanden ist. Wenn ja, dann ganz normal mit OpenDatabase() öffnen und damit arbeiten.

Wenn nein, dann mit CreateFile() eine neue (leere) Datei erstellen, diese dann mit OpenDatabase() öffnen und danach sofort die benötigten Tabellen, Felder, etc. anlegen.

Natürlich immer prüfen, ob das Anlegen der Datei sowie OpenDatabase() auch geklappt haben und gegebenenfalls darauf reagieren.

Re: SQLite Datenbankdatei erstellen

Verfasst: 27.06.2025 17:06
von stab
super, danke. Ist ja auch in der PB-Hilfe-Beispieldatei so beschrieben.
ChatGPT war so von sich überzeugt, dass es mich verwirrt hat.