SQLite Datenbankdatei erstellen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
stab
Beiträge: 96
Registriert: 24.02.2006 16:09
Computerausstattung: 286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5
Wohnort: Hardt
Kontaktdaten:

SQLite Datenbankdatei erstellen

Beitrag 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 ...
Paul sagt: "Max lügt."
Max sagt: "Otto lügt."
Otto sagt: "Max und Paul lügen."

Wer lügt hier wirklich und wer sagt die Wahrheit?

_________________________________________

286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQLite Datenbankdatei erstellen

Beitrag 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.
a²+b²=mc²
Benutzeravatar
stab
Beiträge: 96
Registriert: 24.02.2006 16:09
Computerausstattung: 286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5
Wohnort: Hardt
Kontaktdaten:

Re: SQLite Datenbankdatei erstellen

Beitrag 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.
Paul sagt: "Max lügt."
Max sagt: "Otto lügt."
Otto sagt: "Max und Paul lügen."

Wer lügt hier wirklich und wer sagt die Wahrheit?

_________________________________________

286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5
Antworten