Bild in SQlite speichern
Verfasst: 04.02.2013 16:31
Hallo Leute,
ich fummle schon eine ganze Weile mit einer SQlite-Datenbank herum.
Dank TS-Soft und seinem "SQLite3 - Tutorial für Einsteiger" bin ich auch schon weit gekommen.
Ich benötige für mein Projekt auch eine Adressdatenbank, hier möchte ich auch ein Bild zur
Adresse abspeichern, Das laden zuschneiden und übergeben an ein ButtonGadget geht auch.
Hier der Code
So jetzt kommts,
wie bekomme ich das Bild jetzt in die Datenbank gespeichert?
Meine Tabelle hat folgende Tables
Die Spalte "bild BLOB" ist für die Bilder angelegt, nur wie bekomme ich das da hin ?
Hier hänge ich
Für eine Hilfestellung wäre ich echt dankbar.
Gruß
gnaps
ich fummle schon eine ganze Weile mit einer SQlite-Datenbank herum.
Dank TS-Soft und seinem "SQLite3 - Tutorial für Einsteiger" bin ich auch schon weit gekommen.
Ich benötige für mein Projekt auch eine Adressdatenbank, hier möchte ich auch ein Bild zur
Adresse abspeichern, Das laden zuschneiden und übergeben an ein ButtonGadget geht auch.
Hier der Code
Code: Alles auswählen
AdresseBild.s = OpenFileRequester("Bilddatei laden", "", "Bild (*.png,*.jpg,*.gif)|*.png;*.jpg;*.gif", 0) ;FileRequaster für Bildauswahl
If LoadImage(2000,AdresseBild.s) ;Wenn ein Bild dann Lade es
x.i=ImageWidth(2000) ;Breite des Bildes ermitteln
y.i=ImageHeight(2000) ; Höhe des Bildes ermitteln
If x.i > 250 Or y.i > 250 ;wenn die Bildbreite größer als die Bildhöhe ist
If x.i>y.i ; ist die Bildbreite größer als die höhe
proportional.f=(x.i/250) ;berechne den Proportional-Faktor
x.i=(x.i/proportional.f) ;berechne die neue Breite
y.i=(y.i/proportional.f) ;berechen die neue Höhe
ResizeImage(2000,x.i,y.i) ;ändere die Bildgröße
ElseIf y.i>x.i ; wenn die Bildhöhe größer als die Bildbreite ist
proportional.f=(y.i/250) ;berechne den Proportional-Faktor
x.i=(x.i/proportional.f) ;berechne die neue Breite
y.i=(y.i/proportional.f) ;berechne die neue Höhe
ResizeImage(2000,x.i,y.i) ;ändere die Bildgröße
Else
ResizeImage(2000,250,250) ;ändere die Bildgröße wenn die Bildbreite und Bildhöhe gleich ist
EndIf
EndIf
SetGadgetState(#gad_strAdresseBild,ImageID(2000)) ;übergebe das Bild an das Gadget
wie bekomme ich das Bild jetzt in die Datenbank gespeichert?
Meine Tabelle hat folgende Tables
Code: Alles auswählen
SQLAdressenCreate.s = "CREATE TABLE adressen (id INTEGER PRIMARY KEY AUTOINCREMENT,"
SQLAdressenCreate.s + " nachname TEXT, vorname TEXT, zusatz TEXT, anrede TEXT, strasseprivat TEXT, plzprivat INTEGER, ortprivat TEXT,"
SQLAdressenCreate.s + " strassegeschaeft TEXT, plzgeschaeft INTEGER, ortgeschaeft TEXT,telefonprivat TEXT, telefongeschaeft TEXT,"
SQLAdressenCreate.s + " mobil TEXT, fax TEXT, emailprivat TEXT, emailgeschaeft TEXT, inet TEXT, briefanrede TXT, bild BLOB,"
SQLAdressenCreate.s + " gewerke TEXT, Freifeld1 TEXT, Freifeld2 TEXT, Freifeld3 TEXT)"
Hier hänge ich
Code: Alles auswählen
If ReadFile (0,AdresseBild.s)
size = Lof(0)
If size
*mem = AllocateMemory(size)
If *mem
ReadData(0, *mem, size)
SetDatabaseBlob(#ProjektDB, 0, *mem, size)
sql = "INSERT INTO adressen (AdresseBild.s, bild) VALUES ('"
sql + AdresseBild.s + "', ?)"
DatabaseUpdate(#ProjektDB, sql)
EndIf
Debug size
Debug *mem
EndIf
EndIf
Gruß
gnaps