Insertion d'image

Signaler
Messages postés
17
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
19 septembre 2008
-
Messages postés
10
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
1 juillet 2008
-
 


salut aidez moi a trouver une solution




Dim cmd
As
New OleDbCommand("insert into personnels(Mle,photo)values('" & ComboBox1.Text & "','" & picturebox1.Image  &




Try



cmd.ExecuteNonQuery()







Catch
ex

As
ExceptionMsgBox(ex.Message)


End



Try

je ne peux pas inserrer l'image par cette requette
l'ereure s'apparit dans la partie rouge souligner

7 réponses

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
image peut difficilement être casté en String...

quel type de champ, 'photo' ?
Messages postés
17
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
19 septembre 2008

moi je veux executer une requette pour enregistrer une image de picturebox en un champs de type objet ole a la base access
savez vous le code correcte d'insertion
et merçi
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
via une requête SQL, j'y crois moyen, faudra manipuler un Recordset (ou équivalent .Net)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
awa_awa
-> on tourne en boucle, je t'ai dit de te renseigner sur type STREAM pour ADO.NET
Messages postés
7
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
8 septembre 2009

Slt tout le monde
voilà la solution

Dim cmd As New OleDbCommand("insert into personnels(Mle,photo)values('" & ComboBox1.Text & "', '" & picturebox1.ImageLocation  & "')",cn)Try

cmd.ExecuteNonQuery()



Catch ex As Exception
MsgBox(ex.Message)



End
Try

slt tt le monde c moi rida de casablanca (maroc) et j'ai besoin de cours en vb.net, et merci bcp
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
c'est une facon de voir... l'objectif est tout a fait différent.
là, tu stockes le chemin vers l'image, et non plus l'image (blob)

mais si tu es sur que les images seront trouvées, point de soucis.
Messages postés
10
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
1 juillet 2008

slt
tout d'abord si vous avez donne ta base le champs de l'image de type image voila la solution :
1 ere :
la declaration 
-----------------------------------------
Imports System.IO
Imports System.IO.MemoryStream
-----------------------------------------
 Dim img_bytes As Byte()
    Dim img As Drawing.Bitmap
    Dim com As New SqlCommand
    Dim dr As SqlDataReader
--------------------------------
l'evenement : pour l'insertion
----------------------------------------------
Dim mystream As FileStream
 mystream = File.Open("chemain de votre image", FileMode.Open, FileAccess.Read)
        ReDim img_bytes(CInt(mystream.Length) - 1)
        mystream.Read(img_bytes, 0, CInt(mystream.Length) - 1) 'lecture des bytes
        mystream.Close()
        com.Connection = con
        Try
            con.Open()
            com.CommandText = "insert into image(image) values(@parm)"
            Dim parm As SqlParameter = New SqlParameter("@parm", SqlDbType.Image)
            parm.Value = img_bytes
            com.Parameters.Add(parm)
            com.ExecuteNonQuery()
            con.Close()
        Catch ex As Exception
            MsgBox( ex.Message)
        End Try
--------------------------------
l'evenement : pour la lecture
----------------------------------------------
 com.Connection = con
        Try
            con.Open()
            com.CommandText = "select * from image where id='" & id & "'"
            dr = com.ExecuteReader
            dr.Read()
            img_bytes = CType(dr("image"), Byte())
            img = New Drawing.Bitmap(New System.IO.MemoryStream(img_bytes))

pour que votre image doit etre visible il faut l'enregistrer dans un tompo d'image :

            img.Save("chemain pour l'enregistrement de l'image depuis la BD")
           picturebox1.Image= "chemain pour l'enregistrement de l'image depuis la BD"
            con.Close()
        Catch ex As Exception
            MsgBox( ex.Message)
        End Try