ich arbeite des öfteren mit DB, allerdings meistens mit Access. Jetzt wollte ich mich etwas weiterbilden und eine SQLite DB aufbauen und hier auch gleich ein Bild mit abspeichern. Irgendwie bin ich aus dem Trott gekommen und komme einfach nicht weiter. Ich hoffe Ihr könnt helfen.
Die Daten für das Bild habe ich so ermittelt
Code: Alles auswählen
pValue = OpenFileRequester("Cover Laden", "*.jpg", "Image (*.jpg)|*.jpg", 0)
If pValue
If ReadFile(#mainFile, pValue)
With Cover
\Size = Lof(#mainFile)
\Buffer = AllocateMemory(\size)
ReadData (#mainFile, \Buffer, \size)
CloseFile (#mainFile)
CatchImage (#areaImage, \Buffer)
ResizeImage(#areaImage, 270, (GadgetHeight(#mainArea)-200))
SetGadgetState(#areaCoverPic, ImageID(#areaImage))
EndWith
EndIf
EndIfCode: Alles auswählen
Procedure Database_Create()
Protected pValue.s, pFile.s = #BaseFileName + ".sqlite"
If CreateFile(#mainFile, pFile)
CloseFile(#mainFile)
If OpenDatabase(#mainDB, pFile, #NULL$, #NULL$, #PB_Database_SQLite)
pValue = "CREATE TABLE Movie (ID INTEGER, Format TEXT(10), Anzahl NUMERIC, "
pValue + "Titel TEXT(255), Sparte TEXT(10), Jahrgang TEXT(4), Del NUMERIC, Cover BLOB);"
If DatabaseUpdate(#mainDB, pValue)
MessageRequester("InfoBox", "Datenbankdatei wurde erstellt.", #MB_ICONINFORMATION)
Else
Debug pFile
EndIf
CloseDatabase(#mainDB)
EndIf
EndIf
EndProcedureCode: Alles auswählen
Procedure Database_DSAdd()
Protected pSQL.s = "INSERT INTO [Movie] VALUES("
Protected pFile.s = #BaseFileName + ".sqlite"
If OpenDatabase(#mainDB, pFile, #NULL$, #NULL$, #PB_Database_SQLite)
SetDatabaseBlob(#mainDB, 0, Cover\Buffer, Cover\Size)
pSQL + GetGadgetText(#areaID) + ","
pSQL + "'" + GetGadgetText(#areaFormat) + "',"
pSQL + GetGadgetText(#areaSize) + ","
pSQL + "'" + GetGadgetText(#areaTitle) + "',"
pSQL + "'" + GetGadgetText(#areaSparte) + "',"
pSQL + "0, ?);"
If Not DatabaseUpdate(#mainDB, pSQL)
MessageRequester("InfoBox", "Daten konnten nicht gespeichert werden.", #MB_ICONERROR)
EndIf
CloseDatabase(#mainDB)
EndIf
EndProcedureWo liegt mein gedanklicher Fehler?
(Statt Cover\Buffer hatte ich es auch schon mit ?Cover\Buffer probiert.)