Bonjour a tous.
J'ai un probleme, j'arrive pas a recuperer la photo que j'ai mis dans ma base de donnees.
Pour ce j'ai besoin d'aide. Je ou mets le code entier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 'Imports System.Data Imports MySql.Data 'Imports System.Data.SqlClient Imports MySql.Data.MySqlClient Imports System.IO Imports System.Drawing.Imaging.ImageFormat Imports MySql.Data.MySqlClient.MySqlDataReader Public Class Form1 Dim strCn As String = "server=localhost;" & _ "Database=test;password= ;User Id=root"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cn As New MySqlConnection(strCn) Dim cmd As New MySqlCommand("INSERT INTO blobcenter (blobPict) " & _ "VALUES (@blobPict)", cn) Dim strBLOBFilePath As String = _ "C:\Users\MICHEL\Desktop\photoCellInfo\image.jpg" Dim fsBLOBFile As New FileStream(strBLOBFilePath, _ FileMode.Open, FileAccess.Read) Dim bytBLOBData(fsBLOBFile.Length() - 1) As Byte fsBLOBFile.Read(bytBLOBData, 0, bytBLOBData.Length) fsBLOBFile.Close() Dim prm As New MySqlParameter("@blobPict", MySqlDbType.VarBinary, _ bytBLOBData.Length, ParameterDirection.Input, False, _ 0, 0, Nothing, DataRowVersion.Current, bytBLOBData) cmd.Parameters.Add(prm) cn.Open() cmd.ExecuteNonQuery() cn.Close() End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Dim cn As New MySqlConnection(strCn) 'Dim cmd As New MySqlCommand("SELECT blobId, " & _ ' "blobPict FROM blobcenter ORDER BY blobId", cn) 'Dim da As New MySqlDataAdapter(cmd) 'Dim ds As New DataSet() 'da.Fill(ds, "blobcenter") 'Dim c As Integer = ds.Tables("blobcenter").Rows.Count 'If c > 0 Then 'Dim bytBLOBData() As Byte = _ 'ds.Tables("blobcenter").Rows(c - 1)("blobPict") 'Dim stmBLOBData As New MemoryStream(bytBLOBData) 'PictBlob.Image = Image.FromStream(stmBLOBData) ////(probleme ici) 'End If
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 'DataReader Dim cn As New MySqlConnection(strCn) Dim cmd As New MySqlCommand("SELECT blobId, " & _ "blobPict FROM blobcenter ORDER BY blobId", cn) Dim dr As MySqlDataReader cn.Open() dr = cmd.ExecuteReader(CommandBehavior.CloseConnection) If dr.Read Then Dim bytBLOBData(dr.GetBytes(1, 0, Nothing, 0, Integer.MaxValue) - 1) As Byte dr.GetBytes(1, 0, bytBLOBData, 0, bytBLOBData.Length) Dim stmBLOBData As New MemoryStream(bytBLOBData) PictBlob.Image = Image.FromStream(stmBLOBData) ////(probleme ici) End If dr.Close() End Sub End Class
Ca me dit le paramètre n'est pas valide!!!
Partager