Seite 1 von 1

BLOB in SQLite3

Verfasst: 09.10.2006 15:55
von Karl
Sqlite3 kann BLOB. Wie kann ich mit PureBasic eine Datei in eine Tabelle schmieren (ohne String)?

K.

Verfasst: 09.10.2006 15:56
von Kaeru Gaman
... was isn ein BLOB bei Datenbanken?

ich kenn nur Blob als 3D-Gebilde...

Re: BLOB in SQLite3

Verfasst: 09.10.2006 16:00
von Kiffi
Karl hat geschrieben:Sqlite3 kann BLOB.
die SQLite3-Lib in den PBOSL auch ;-)

@Kaeru: Binary Large OBject

Grüße ... Kiffi

Verfasst: 10.10.2006 08:01
von Karl
Ja, gut - nachdem wir das geklärt haben, formuliere ich die Frage mal um:

Wie bewege ich eine Datei in eine BLOB-Tabelle, ohne dass ich die Datei vorher in einen String einlesen muss?

Vielleicht hat jemand hierzu eine Idee.

Karl

Verfasst: 10.10.2006 08:32
von ts-soft
Hab das zu PBOSL gehörende Beispiel mal geschrumpft. Hier werden 3 Bilder geblobt :mrgreen:
PS: Datenbank sollte bereits geöffnet sein, siehe Orginal Examples in PBOSL "blob_test.pb"

Code: Alles auswählen

Procedure WriteBlob()
  
  For lCounter = 0 To 2

    FF = ReadFile(#PB_Any, "demodata\image" + Str(lCounter) + ".jpg")
    
    If FF
      
      FileLen = Lof(FF)
      MemBuffer = AllocateMemory(FileLen)
      ReadData(FF,MemBuffer, FileLen)
      CloseFile(FF)

      Statement = SQLite3_Prepare(dbHandler, "insert into tblBlob (fldKey, fldBlob) values (?, ?);")
      
      If Statement
        
        Key$=Str(lCounter)

        SQLite3_Bind_Text(Statement, 1, @Key$)
        SQLite3_Bind_Blob(Statement, 2, MemBuffer, FileLen)
        SQLite3_Step(Statement)
        SQLite3_Finalize(Statement)
        
      EndIf  
      
      FreeMemory(MemBuffer)
      
    EndIf
    
  Next lCounter
  
EndProcedure  



Verfasst: 10.10.2006 08:51
von Karl
Ah danke,

ich hatte nur 3.94 hier.


Gruß Karl