Image aus MySQL-Datenbank in Picturebox anzeigen

  • VB.NET
  • .NET 4.5

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Typhoon.

    Image aus MySQL-Datenbank in Picturebox anzeigen

    Hallo zusammen

    Folgendes Problem gibt es.

    Ich habe eine Tabelle mit 4 Spalten. Unteranderem eine für ein Image (longblob).
    Das schreiben in die Tabelle funktioniert.

    Nur beim auslesen wird kein Bild (Quadrat mit rotem X) in der Picturebox angezeigt.

    Hier der Code für den Insert in die db.

    VB.NET-Quellcode

    1. Module dbInsertkfz
    2. Public Function MySqlInsertkfz(marke, kennzeichen, baujahr, images)
    3. 'variable definieren und predefined statement einfügen
    4. Dim insert_statement As String = "INSERT INTO `tankmanager`.`tbl_kfz` (`marke`, `kennzeichen`, `baujahr`, `images`) VALUES ('" & marke & "', '" & kennzeichen & "', '" & baujahr & "', '$images');"
    5. 'Statement zurückgeben
    6. Return insert_statement
    7. End Function
    8. End Module


    Und im Anhang das Bild von der Picturebox.

    Hier der Code:

    VB.NET-Quellcode

    1. Private Sub ButtonWeiter_Click(sender As Object, e As EventArgs) Handles ButtonWeiter.Click
    2. FormMain.LabelKFZKennzeichen.Text = ComboBoxkfzauswahl.SelectedItem
    3. FormMain.PictureBoxBildAuto.ImageLocation = IMG_FileNameInput + FormMain.LabelKFZKennzeichen.Text
    4. FormMain.Show()
    5. End Sub


    Kann mir bitte jemand weiterhelfen?

    Gruß und Danke

    Gebhard

    Tags und Codetags korrigiert ~ EaranMaleasi

    Bilder
    • rotes X.jpg

      41,54 kB, 360×372, 34 mal angesehen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „EaranMaleasi“ ()

    Welchen Typ hat denn bitte images beim insert?
    Wenn es eine Liste, oder Array ist, muss es schief gehen.

    Außerdem arbeitest du offensichtlich mit VB.NET.
    SIMDoku (Simple Dokumentenverwaltung)
    Mein Lernprojekt um die verschiedensten Facetten der .NET Entwicklung zu erkunden.
    GitHub

    VB Paradise Dark Theme
    Inoffizieller VB-Paradise Discord.
    Guten Morgen

    Ist erledigt!! War mein Fehler. Hab nicht richtig hingeschaut. Richtig sollte der Code so lauten:

    C#-Quellcode

    1. Module dbInsertkfz
    2. Public Function MySqlInsertkfz(marke, kennzeichen, baujahr, images)
    3. 'variable definieren und predefined statement einfügen
    4. Dim insert_statement As String = "INSERT INTO `tankmanager`.`tbl_kfz` (`marke`, `kennzeichen`, `baujahr`, `images`) VALUES ('" & marke & "', '" & kennzeichen & "', '" & baujahr & "', '@images');"
    5. 'Statement zurückgeben
    6. Return insert_statement
    7. End Function
    8. End Module


    Habe das $images anstatt @images verwendet.

    Das Programm hat keinen Fehler angezeigt und das Bild wurde auch in die DB geschrieben. Das mit dem anzeigen hat nicht gekappt. Warum auch immer.

    Gruß Gebhard
    Beantworte bitte meine Frage.
    Welchen Typ hat images ?


    Als Moderator:
    Bitte nutze die richtigen CodeTags. Wenn du mit VB.NET Programmierst, sind die C# Tags definitv falsch.
    Korrigiere das also bitte.

    Mehr infos dazu findest du in diesen Posts:
    [Allgemein] VB.NET, VB6, VBA, VBS — Mit welcher Sprache programmiere ich eigentlich?
    [Forum] Welche BBCodes (Tags) gibt es hier im Forum zum Einfärben von Quellcodes (Syntax-Highlighting)?
    [Forum] Welche BBCodes (Tags) sind im Forum zur Gestaltung der Postings verfügbar? (Anleitung zur Benutzung)
    SIMDoku (Simple Dokumentenverwaltung)
    Mein Lernprojekt um die verschiedensten Facetten der .NET Entwicklung zu erkunden.
    GitHub

    VB Paradise Dark Theme
    Inoffizieller VB-Paradise Discord.
    Hallo EaranMaleasi

    Tut mir leid, das ich erst jetzt antworte. War anderweitig beschäftigt.

    images hat dem Typ "longblob" ABER

    der Code den ich hier vorgestellt habe ist so auch nicht ganz richtig.

    Korrektur:

    VB.NET-Quellcode

    1. Imports MySql.Data.MySqlClient
    2. Module writekfz
    3. Public Function Schreibekfz(myMarke, mymodell, mykennzeichen, mykmgesamt, myenergie, mybj, myps, myImage)
    4. Dim MySQLCMD = New MySqlCommand
    5. With MySQLCMD
    6. .CommandText = "INSERT INTO `carmanager2`.`tbl_kfz` (`marke`, `modell`, `kennzeichen`, `kmgesamt`, `energie`, `bj`, `ps`, `image`) VALUES (@marke, @modell, @kennzeichen, @kmgesamt, @energie, @bj, @ps, @image);"
    7. .Connection = con
    8. .Parameters.AddWithValue("@marke", myMarke)
    9. .Parameters.AddWithValue("@modell", mymodell)
    10. .Parameters.AddWithValue("@kennzeichen", mykennzeichen)
    11. .Parameters.AddWithValue("@kmgesamt", mykmgesamt)
    12. .Parameters.AddWithValue("@energie", myenergie)
    13. .Parameters.AddWithValue("@bj", mybj)
    14. .Parameters.AddWithValue("@ps", myps)
    15. .Parameters.AddWithValue("@image", myImage)
    16. .ExecuteNonQuery()
    17. End With
    18. Return False
    19. End Function
    20. End Module


    So füge ich ein Bild in die DB ein.

    Gruß Gebhard