Heim >Datenbank >MySQL-Tutorial >Wie kann ich Bilder aus einer MySQL-Datenbank in einer PictureBox abrufen und anzeigen?

Wie kann ich Bilder aus einer MySQL-Datenbank in einer PictureBox abrufen und anzeigen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 05:39:30247Durchsuche

How to Retrieve and Display Images from a MySQL Database in a PictureBox?

Bild aus MySQL abrufen und in PictureBox anzeigen

Um ein Bild aus einer MySQL-Datenbank abzurufen und in einer PictureBox anzuzeigen, befolgen Sie diese Schritte :

1. Bild zur Datenbank hinzufügen:

<code class="csharp">using(OpenFileDialog ofd = new OpenFileDialog())
{
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        byte[] bytes = File.ReadAllBytes(ofd.FileName);
        string imageUrl = ofd.FileName.ToString();
        MySqlConnection con = new MySqlConnection(connectionString);
        con.Open();

        // Insert image into database
        MySqlCommand cmd = new MySqlCommand("INSERT INTO reg.img_table(image, id) VALUES (@image, @id)", con);
        long id = cmd.LastInsertedId;
        cmd.Parameters.AddWithValue("@image", bytes);
        cmd.Parameters.AddWithValue("@id", id);
        cmd.ExecuteNonQuery();
        con.Close();
    }
}</code>

2. Bild aus der Datenbank abrufen:

<code class="csharp">private Image byteArrayToImage(byte[] byteArrayIn)
{
    MemoryStream ms = new MemoryStream(byteArrayIn);
    Image returnImage = Image.FromStream(ms);
    return returnImage;
}

private void photoLoad()
{
    string connectionString = ...;
    MySqlConnection con = new MySqlConnection(connectionString);

    byte[] ImageByte = new byte[0];
    string query1 = "select image from reg.img_table where id= @id";
    MySqlCommand cmd = new MySqlCommand(query1, con);
    cmd.Parameters.AddWithValue("@id", ...);

    con.Open();

    MySqlDataReader row;
    row = cmd.ExecuteReader();

    while (row.Read())
    {
        ImageByte = (Byte[])(row["image"]); 
    }

    con.Close();

    if (ImageByte != null)
    {
        // Convert to bitmap and display in PictureBox
        roundPictureBox1.Image = byteArrayToImage(ImageByte);
        roundPictureBox1.Refresh();
    }
}</code>

Stellen Sie sicher, dass Ihre Verbindungszeichenfolge korrekt ist und dass Sie die Datenbanktabelle img_table mit den entsprechenden Spalten erstellt haben. Der bereitgestellte Code sollte zum Abrufen und Anzeigen des Bildes in Ihrer PictureBox funktionieren.

Das obige ist der detaillierte Inhalt vonWie kann ich Bilder aus einer MySQL-Datenbank in einer PictureBox abrufen und anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn