Bonjour à tous,

Je poste ce message car je n'ai rien trouvé de vraiment significatif concernant mon problème.

J'ai paramétré une base de donnée Mysql en DSN sur mon poste.
Je peut faire des requetes select dessus sans problème en utilisant odbc.

Maintenant je test la possibilité d'enregistrer en base des images et d'autre fichier en utilisant une table construite ainsi :
id_image = int
image = longblob

j'utilise une procedure vb.net 2008 pour insérer une nouvelle image en base mais si la requete réussi (j'ai bien un nouvel enregistrement) le blob ne contient pas mon image.

Voici la procedure en question :

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
20
21
22
23
24
25
26
27
28
29
30
31
32
Private Sub BtnAddImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAddImage.Click
 
        Dim l_strFileNamePath As String
 
        Dim MyselectCommandInsertImages As New OdbcCommand
 
        Dim oStream As New System.IO.MemoryStream
 
        Dim l_strRequeteInsertImage As String = "INSERT INTO images (id_image,image) VALUES ('3', @Image)"
 
        ChargerImage.Filter = "Fichiers JPG(*.jpg)|*.jpg"
        ChargerImage.ShowDialog()
 
        l_strFileNamePath = ChargerImage.FileName
 
        Dim img As New Bitmap(l_strFileNamePath)
        img.Save(oStream, System.Drawing.Imaging.ImageFormat.Jpeg)
 
        Dim bytImage As Byte() = oStream.GetBuffer
 
        With MyselectCommandInsertImages
 
            .CommandType = CommandType.Text
            .Connection = MyConnexion
            .CommandText = l_strRequeteInsertImage
            .Parameters.Add("@Image", Data.Odbc.OdbcType.Image).Value = bytImage
 
            MyselectCommandInsertImages.ExecuteNonQuery()
 
        End With
 
    End Sub
pouvez-vous m'aider a corriger cette procedure ?
Merci