Android Question insert image in SQL DB ?

Paulsche

Well-Known Member
Licensed User
Longtime User
Hello,

I want to insert in my table an image
I have added in the DB field.

How should the following code (
ExecNonQuery)
when I image (BLOB)
would like to insert as the last field to save?

Have been very much sought, but found no example with multiple fields.

B4X:
    Dim InputStream1 As InputStream
    InputStream1                                            = File.OpenInput(File.DirDefaultExternal, "temp_klein.jpg")
    Dim OutputStream1 As OutputStream
    OutputStream1.InitializeToBytesArray(1000)
    File.Copy2(InputStream1, OutputStream1)
    Dim Buffer() As Byte                                                                                                                        'declares an empty array
    Buffer                                                        = OutputStream1.ToBytesArray


    If M_Artikel_aendern = False Then                                                                                                'Wenn Neuanlage gewählt wurde
        angehakt                                                = 0                                                                                        'Artikel nicht zur auswahl angehakt setzen
        SQLartikel.ExecNonQuery("INSERT INTO Artikel (datumticks,datum,name,kat,eht,preis,notiz,angehakt) values("&DateTime.Now&",'"&LBL05dat_Datum.Text&"','"&EDT05Name.Text&"','"&EDT05Kategorie.Text&"','"&EDT05Menge_EHT.Text&"','"&EDT05Preis.Text&"','"&EDT05Notiz.Text&"','"&angehakt&"')")
 

Paulsche

Well-Known Member
Licensed User
Longtime User
B4X:
SQLartikel.ExecNonQuery2("INSERT INTO Artikel values("&DateTime.Now&",'"&LBL05dat_Datum.Text&"','"&EDT05Name.Text&"','"&EDT05Kategorie.Text&"','"&EDT05Menge_EHT.Text&"','"&EDT05Preis.Text&"','"&EDT05Notiz.Text&"','"&angehakt&"', ?)", Array As Object(Buffer))

Does not work so.
What is wrong ?
 
Upvote 0

Paulsche

Well-Known Member
Licensed User
Longtime User
Thanks Erel, it works well, that in my line of code was the missing Primery Key with value NULL.
SQLartikel.ExecNonQuery2("INSERT INTO Artikel values(NULL,"&DateTime.Now&",'"&LBL05dat_Datum.Text&"','"&EDT05Name.Text&"','"&EDT05Kategorie.Text&"','"&EDT05Menge_EHT.Text&"','"&EDT05Preis.Text&"','"&EDT05Notiz.Text&"','"&angehakt&"', ?)", Array As Object(Buffer))
 
Upvote 0

Paulsche

Well-Known Member
Licensed User
Longtime User
B4X:
    Dim OutputStream1 As OutputStream
    Dim InputStream1 As InputStream
    Dim btm As Bitmap
    Dim Buffer() As Byte                                                                                                                        'declares an empty array
   
    If IMG05Foto.Tag = "KeinFoto"    Then                                                                                            'Wenn kein Artikel-Bild gemacht wurde
        IMG05Foto.Bitmap                                = LoadBitmapSample(File.DirAssets,"picture.png", IMG04Hilf_Foto.Width,IMG04Hilf_Foto.Height) 'Standardbild für kein Foto nehmen
        Buffer                                                    = Null
    Else                                                                                                                                                        'Foto vorhanden
        OutputStream1.InitializeToBytesArray(1000)                                                                        'Foto als ByteArray in klein speichern
        btm.InitializeMutable(IMG05Foto.Width,IMG05Foto.Height)
        btm                                                            = IMG05Foto.Bitmap
        OutputStream1                                    = File.OpenOutput(File.DirDefaultExternal, "temp_klein.jpg", False)
        btm.WriteToStream(OutputStream1, 60, "JPEG")

        InputStream1                                        = File.OpenInput(File.DirDefaultExternal, "temp_klein.jpg") 'Foto in klein als ByteArray wieder einlesen
        OutputStream1.InitializeToBytesArray(1000)
        File.Copy2(InputStream1, OutputStream1)                                               
        Buffer                                                    = OutputStream1.ToBytesArray                                'Eingelesenes Foto in Buffer speichern
        InputStream1.Close
        OutputStream1.Close   
    End If


  SQLartikel.ExecNonQuery2("INSERT INTO Artikel values(NULL,"&DateTime.Now&",'"&LBL05dat_Datum.Text&"','"&EDT05Name.Text&"','"&EDT05Kategorie.Text&"','"&EDT05Menge_EHT.Text&"','"&EDT05Preis.Text&"','"&EDT05Notiz.Text&"','"&angehakt&"', ?,'"&favorit&"','"&EDT05EAN.Text&"','"&EDT05Beschreibung.Text&"')", Array As Object(Buffer))
 
Upvote 0
Top