Seite 1 von 1

sqlite3

Verfasst: 27.09.2006 12:58
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

Verfasst: 27.09.2006 13:03
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

Verfasst: 27.09.2006 13:10
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...

Verfasst: 27.09.2006 13:16
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)

Verfasst: 27.09.2006 13:17
von bobobo

Verfasst: 27.09.2006 13:23
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

Verfasst: 27.09.2006 13:28
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

Verfasst: 27.09.2006 14:11
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?

Verfasst: 27.09.2006 14:16
von Kiffi
das Handle, dass Du bei SQLite3_OpenDatabase() bekommst,
musst Du dann natürlich auch an SQLite3_GetRecordset() übergeben

Grüße ... Kiffi

Verfasst: 27.09.2006 14:28
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...