sqlite3

Anfängerfragen zum Programmieren mit PureBasic.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

sqlite3

Beitrag von sobi »

Man man... bin hier echt mit folgendem Problem am verzweifeln:
Habe mir PBOSL runtergeladen und möchte mit den SQLite - Funktionen arbeiten.
Allerdings bringe ich es nicht fertig aus einer Tabelle Daten aus zu lesen... :cry:

Kann mir bitte bitte jemand mit ein paar codeschnippseln auf die Sprünge helfen? (DB erstellen funktioniert)

Danke + Grüße,
Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Karl
Beiträge: 520
Registriert: 21.07.2005 13:57
Wohnort: zu Hause

Beitrag von Karl »

Hallo,

vielleicht fehlt dir die SQLite3.dll?

Ansonsten hier ein kleines Tut:

http://www.network-gui.de/PB-Wiki/PureBasicDB.pdf

Gruß Karl
The Kopyright Liberation Front also known as the justified ancients of Mumu!
PB 5.X
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag von sobi »

Karl hat geschrieben:Hallo,
vielleicht fehlt dir die SQLite3.dll?
Danke Karl, werd mir gleich mal das Tut durchlesen - die SQLite3.dll fehlt mir nicht...
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag von sobi »

Woran liegt es, dass ich bei der Abfrage:

SQLite3_GetTable() immer eine Fehlermeldung bekomme? [...is not a funktion...]

Code: Alles auswählen

sDB.s = "einnahmen.db"

dbHandler = SQLite3_CreateDatabase(sDB, 1) 
 If dbHandler = 0
  MessageRequester("SQLite3-Demo", SQLite3_GetLastMessage())
  End
EndIf

; Create test-table to fill with data
sSQL.s = "Create Table geldeingang (fld1, fld2)"
SQLite3_Execute(sSQL, dbHandler)


  MessageRequester("", SQLite3_GetLastMessage())

  sSQL.s = "Insert Into geldeingang (fld1, fld2) Values ('1','2')"
sel.s = "Select * From geldeingang"
  MessageRequester("", SQLite3_GetLastMessage())
dbopen=SQLite3_OpenDatabase("einnahmen.db")
  MessageRequester("", SQLite3_GetLastMessage())
  
  Debug SQLite3_GetTable(sel,0,0,dbopen)
Zuletzt geändert von sobi am 27.09.2006 13:18, insgesamt 1-mal geändert.
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Karl
Beiträge: 520
Registriert: 21.07.2005 13:57
Wohnort: zu Hause

Beitrag von Karl »

Gibt es wohl gar nicht, obwohl in der Hilfe deklariert.

:)

Wenn du einen Tabellennamen suchst, wäre das wohl geeignet:

Code: Alles auswählen

sSQL.s="SELECT name FROM sqlite_master WHERE type='table'"

(entnommen aus useful_functions.pb der PBOSL-Examples-SQLITE3)

Dann wie gewohnt auswerten.

Gruß Karl
The Kopyright Liberation Front also known as the justified ancients of Mumu!
PB 5.X
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 »

>> SQLite3_GetTable() immer eine Fehlermeldung bekomme? [...is not a funktion...]
GetTable wurde durch die Recordsets ersetzt, die Hilfe wurde aber bisher
nicht aktualisiert, bzw. mir liegt keine neue Version vor... Entweder in den
Examples ein wenig wühlen, oder den Source anschauen. Oder den Tipp von
3bo nutzen
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
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag von sobi »

Na prima...
also so richtig schlau bin ich noch nicht geworden: Im Moment sieht es so aus:

Code: Alles auswählen

Structure s_RecordSet 
  BOF.l 
  EOF.l 
  Handle.l 
  Rows.l 
  Cols.l 
  CurrentPos.l 
  sValue.s 
EndStructure 

RS.s_RecordSet 

If SQLite3_InitLib("sqlite3.dll") = #False
  MessageRequester("SQLite3-Demo", SQLite3_GetLastMessage())
  End
EndIf

Handle.l=SQLite3_OpenDatabase("einnahmen.db")
sql.s = "Select * From geldeingang" 

If SQLite3_GetRecordset(sql, dbHandle, @RS ) 
 If rs\handle
   While rs\eof = 0
      If SQLite3_GetRecordsetValueByName("fld1", @RS) 
         Debug RS\sValue 
      Else 
         MessageRequester("", SQLite3_GetLastMessage()) 
      EndIf 
      SQLite3_RecordsetMoveNext(@RS) 
   Wend
Else 
  MessageRequester("SQLite3-Demo", SQLite3_GetLastMessage()) 
EndIf 
EndIf
Der Fehler lautet Wrong DBdbhandle - kann jemand damit was anfangen?
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

das Handle, dass Du bei SQLite3_OpenDatabase() bekommst,
musst Du dann natürlich auch an SQLite3_GetRecordset() übergeben

Grüße ... Kiffi
a²+b²=mc²
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag von sobi »

Kiffi hat geschrieben:das Handle, dass Du bei SQLite3_OpenDatabase() bekommst,
musst Du dann natürlich auch an SQLite3_GetRecordset() übergeben

Grüße ... Kiffi
Danke danke danke...
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Antworten