[erledigt] SQLite und PB 4.2B3: umsteigen ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

[erledigt] SQLite und PB 4.2B3: umsteigen ?

Beitrag von scholly »

moin, moin...

Bisher nutze ich in meiner Video-Verwaltung die sqlite3.dll und das include von ts-soft|Kiffi|MLK.

Mit Erscheinen von PB 4.2b3 frage ich mich nun, ob es Zeit ist, auf PB-inter (UseSQLiteDatabase()) zu wechseln.

Lohnt es sich schon?

Wenn "Ja", hab ich direkt schon Probleme: ich check nicht, wie das alles nun geht.

Brauch ich die Dll und das Include garnicht mehr, weil es Update\PureLibraries\Windows\Libraries\sqlite3.lib gibt?

Wie kann man notfalls zu anderen SQLite-Versionen wechseln?

Der 12-Zeiler in der UseSQLiteDatabase()-Doku hilft mir auch nicht so ganz, wie ich nun die ganzen Aufrufe des Includes
  • SQLiteOpen(DBName)
    SQliteExecute(DBref, "CREATE TABLE maintable (ID INTEGER PRIMARY KEY"+interim+")")
    SQliteGetTable(DBref, "SELECT * FROM maintable", maintable)
    SQliteErrorMsg(DBref)
    SQliteExecute( DBref, "Replace Into mainTable ("...") Values ("...")")
    SQLiteClose(DBref).
    usw,usf..
ersetzten/umschreiben soll.

Mag jemand mir (und vielleicht auch anderen) mit einem Code-Vergleich auf die Sprünge helfen?

mdv...
Zuletzt geändert von scholly am 17.05.2008 15:29, insgesamt 1-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: SQLite und PB 4.2B3: umsteigen ?

Beitrag von ts-soft »

scholly hat geschrieben: Mit Erscheinen von PB 4.2b3 frage ich mich nun, ob es Zeit ist, auf PB-inter (UseSQLiteDatabase()) zu wechseln.

Lohnt es sich schon?
Warte die Final ab, da kommt eine etwas aktuellere Lib als in der Beta
(info aus engl. Forum)
scholly hat geschrieben: Brauch ich die Dll und das Include garnicht mehr, weil es Update\PureLibraries\Windows\Libraries\sqlite3.lib gibt?
genau, brauchste nicht mehr
scholly hat geschrieben: Wie kann man notfalls zu anderen SQLite-Versionen wechseln?
eher garnicht :mrgreen:
scholly hat geschrieben: Der 12-Zeiler in der UseSQLiteDatabase()-Doku hilft mir auch nicht so ganz, wie ich nun die ganzen Aufrufe des Includes
  • SQLiteOpen(DBName)
    SQliteExecute(DBref, "CREATE TABLE maintable (ID INTEGER PRIMARY KEY"+interim+")")
    SQliteGetTable(DBref, "SELECT * FROM maintable", maintable)
    SQliteErrorMsg(DBref)
    SQliteExecute( DBref, "Replace Into mainTable ("...") Values ("...")")
    SQLiteClose(DBref).
    usw,usf..
ersetzten/umschreiben soll.

Mag jemand mir (und vielleicht auch anderen) mit einem Code-Vergleich auf die Sprünge helfen?

mdv...

Du kannst die normalen Datenbank-Befehle von PB nutzen, hast dadurch
den Vorteil auch schneller auf ODBC umzusteigen.

Auf längere Sicht ist der Umstieg anzuraten. Du könntest auch die API der
mitgelieferten Lib nutzen (Sqlite-Befehle mit _ am ende), so sollte ein
umschreiben der Include kein grosser Hit sein, denke ich mal, habs noch
nicht probiert.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

die sqlite3.dll wird als lib inkludiert.

Für einen Versionsumstieg auf ne neuere sqlite3Version wirst du auf PB vertrauen müssen. (einer der Gründe warum ich die eingebaute Lib sicher
nur unter Umständen benutzen werde)

Ansonsten benutzt du die üblichen Databasebefehle

die (englische) Hilfe hat doch ein nettes Demo intus

Code: Alles auswählen

UseSQLiteDatabase()

  Filename$ = OpenFileRequester("Choose a file name", "PureBasic.sqlite", "*.sqlite|*.sqlite", 0)

  If CreateFile(0, Filename$)
    Debug "Database file created"
    CloseFile(0)
  EndIf
  
  If OpenDatabase(0, Filename$, "", "")
    Debug "Connected to PureBasic.sqlite"
    If DatabaseUpdate(0, "CREATE TABLE info (test VARCHAR(255));")
      Debug "Table created"
    EndIf
  EndIf
die anderen DatabaseFunktionen funktionieren da wie gehabt.
(Solange die SQLiteDB als lokaler Datenspeicher benutzt werden
soll und Multiuserfähigkeit keine Rolle spielt (wobei das auch
durchaus (allerdings mit mehr Aufwand) machbar ist) steht einem
Einsatz der eingebauten sqlite.lib aus PB nichts grundsätzliches
mehr im Wege. PB ist aber noch beta mit allen Vor- und Nachteilen.

(Ich bin so kackenlahm heute :))
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

bobobo hat geschrieben:(Ich bin so kackenlahm heute :))
Bild
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

hm...

ODCB interessiert mich nicht, weil ich da keinen Einstieg gefunden habe und auf der anderen Seite Dank Kiffi (und anderen) und dem Include mit Sqlite in dem notwendigen Umfang zurechtkomme.

Umschreiben werd/will ich das Include mangels Fähigkeit auch nicht.

Die "normalen Datenbank-Befehle" hab ich nie benutzt, weil es mir noch nichtmal gelungen ist, diesen ODCB-Kram zum Erstellen einer DBase zu bewegen.

Und das ist auch der Grund, warum der von bo³ zitierte 12-Zeiler mir in keinster Weise beim Umstieg hilft.

Wenn ich dann noch lese, daß man im Zweifelsfall nicht mal schnell die vorherige oder nächste Version von SQLite3 zum Testen benutzen kann,
lass ichs wohl besser so, wie es ist.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

das von mir gepostet Example ist so lauffähig und legt ne DB an.
(pb 4.2 -3)

ODBC muss Dich bei Nutzung der eingebauten sqlite.lib auch gar nicht weiter kümmern.

Du benutzt nur die eingebauten Databasefunktionen wie bei einer ODBC-Verknüpfung mit UseODBCDatabase.

Es bleibt bei der weiteren Bearbeitung der SQLIte-db bei etwas SQl-Syntx in SQLiteManier.

Die DatabaseFunktionen von PB sind ja nicht so mies und durchaus
benutzbar.


Bild
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Vielleicht interessiert Dich das Update:
http://www.purebasic.fr/english/viewtop ... 853#240853
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

ts-soft hat geschrieben:Vielleicht interessiert Dich das Update:
Abba sischa, dat ! :allright:

Ich folge allerdings Deiner Empfehlung und warte die 4.2_FINAL ab. :lol:

Trotzdem frag ich schonmal rück:
Ich brauch meinen alten Code nicht zu ändern ?
Ich kann durch einfaches wechseln des Includes sowohl mit der Original-DLL als auch der PB-Lib testen/checken, wenn ich mir nicht klar bin, wo ein Fehler herkommt (oder ob der vor der Tastatur sitzt :oops: )
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

> Ich brauch meinen alten Code nicht zu ändern ?
Nein, solange Du keine Datenbank mit dem ASCII-Flag erstellt hast.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

scholly hat geschrieben: Ich kann durch einfaches wechseln des Includes sowohl mit der Original-DLL als auch der PB-Lib testen/checken, wenn ich mir nicht klar bin, wo ein Fehler herkommt (oder ob der vor der Tastatur sitzt :oops: )
das auf jeden Fall .. ich nutz zum sqlite-Datenbankerzeugen und drin
rumfuhrwerken eins (oder mehrere) der kostenfreien SQLIte-Manager
und oder Sqlite-odbc-Treiber. Das macht die db genausowenig kaputt
wie ein Zugriff mit alten prä-pb4.20er Sqlite-Lib /Includes oder der neuen
PB4-Sqlite-lib.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten