Insertion et recuperation d'image dans une bd access [Résolu]

Messages postés
2
Date d'inscription
mercredi 4 février 2009
Dernière intervention
8 juin 2011
- - Dernière réponse : street2009
Messages postés
2
Date d'inscription
mercredi 4 février 2009
Dernière intervention
8 juin 2011
- 8 juin 2011 à 19:07
Bonjour tout le monde j'aimerai savoir si quelqu'un pourrai m'aide car je suis bloquer sur mon application au niveau de l'insertion et la récupération d'une image photo dans ma base de donnée access.
je travail sur une plateforme VS2010 langage utilisé vb.net

je vous explique ce que je veux réellement:

j'aime arriver a enregistré les information (nom, mot de passe et la photo de mon utilisateur) dans ma base de donnée access qui contient les champ: login,pass,image, lors du la recherche d'une information j'aimerai que le code me permet de récupérer les information trouver et afficher l'image de l'utilisateur dans un contrôleur picturebox et avoir la possibilité de voir les autre utilisateur et leur image en défilant les information.


merci pour votre aide
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
35
Date d'inscription
vendredi 26 juin 2009
Dernière intervention
17 juin 2011
3
Merci
salut
tu peux créer un champ "photo" dans ta BD acces, ce champ va contenir le chemin de la photo de la personne que tu peux loader par la suite dans un picture box.

Merci ingito 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de ingito
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
0
Merci
Salut

Quelle version de Access ?
De quel type est ton champ 'image' dans ta DB ?
As-tu regardé parmi les exemples fournis avec ton Access ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Dernière intervention
30 octobre 2013
0
Merci
Je vais peut être dire une bêtise, mais bon, il est peut possible d'apprendre sans passé par de moment d’humiliation!

Est-il possible de d'enregistrer l'image juste en lisant le fichier et en sauvegardant le contenue dans un champs.
Ensuite en peut la réutiliser en le recréant à nouveau comme un simple fichier txt.

Je pense a cela car c grosomodo comme cela que l'on fait les transferts ftp. On ouvre le fichier et en l'envois bout par bout.

Merci d'être indulgent dans votre réponse !
Commenter la réponse de 4u4me4us
Messages postés
2
Date d'inscription
mercredi 4 février 2009
Dernière intervention
8 juin 2011
0
Merci
on ce qui concerne l'insertion de la mon image cela n'est plus un pb car je l'ai resolu en voila le code utiliser:

'si un champ n'est pas rempli fin de procédure
If masq(TxtutilisateurNnom.Text) = "" Or _
masq(TxtutilisateurNpass.Text) = "" Then



MessageBox.Show("Vous devez remplir tous les champs !", "Erreur...", MessageBoxButtons.OK, MessageBoxIcon.Error)

Me.TxtutilisateurNnom.Focus()

Exit Sub

End If


'---- gestion des erreur
Try
sql = "INSERT into T_login([login],pass,[image]) VALUES('" & TxtutilisateurNnom.Text & "','" & TxtutilisateurNpass.Text & "','" & photo.FileName & "');"
cmd = New OleDbCommand(sql, cn)
dta = New OleDbDataAdapter(cmd)
'----- ouverture de la connexion

cn.Open()
'--- execution de la requette sql
cmd.ExecuteNonQuery()
'on vide le dataset pour le recréer avec
'les nouvelles données
dts.Clear()
'----- fermeture de la connexion
cn.Close()


'####### message de confirmation d'ajout
MsgBox("Ajout reussi", MsgBoxStyle.Information, "Enregistrement des données")

'#### vider les zone de saisie
TxtutilisateurNnom.Text = ""
TxtutilisateurNpass.Text = ""
PictureBox3.Image = Image.FromFile(Application.StartupPath & "\vide.jpg")

'##############################

Catch ex As Exception
MsgBox(ex.Message)
connexion()
End Try

actuellement le problème qui me reste c'est comment faire pour mètre a jour en cas d'erreur sur le chemin de mn image photo et récupérer l'image de l'utilisateur et l'afficher dans un contrôleur Picturebox au démarrage de l'application et les faire défilé si la table contient beaucoup d'utilisateur.

merci d'avance pour votre réponse en ce qui concerne mon code de modification le voici:
########################### modification ###########


Try


'récupération de la ligne dans le datarow
dtr = dts.Tables("T_login").Rows(rownum)

'modification des donées
dtr("login") = Me.textlogin.Text
dtr("pass") = Me.textpass.Text
dtr("image") = Me.photo.FileName

'création et exécution du commandbuilder
'pour mettre à jour le DataAdapter
cmdb = New OleDbCommandBuilder(dta)

'mise à jour des données du DataAdapter
'à partir du commandbuilder
dta.Update(dts, "T_login")

'on vide le dataset pour le recréer avec
'les nouvelles données
dts.Clear()
dta.Fill(dts, "T_login")
dtt = dts.Tables("T_login")

'mise à jour du datagrid
DataGrid3.SetDataBinding(dts, "T_login")

'retour au début du fichier
rownum = 0

'affichage des données dans les texbox
Me.textlogin.Text = dtt.Rows(rownum).Item("login")
Me.textpass.Text = dtt.Rows(rownum).Item("pass")
Me.PictureBox1.Image = dtt.Rows(rownum).Item("image")


MessageBox.Show("Les données sont modifiées !", "Modification...", MessageBoxButtons.OK, MessageBoxIcon.Information)

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try
####################### fin modification ##########

et pour la récupération:
######################## code recuperation ###########


Try


' Dim stream As FileStream = New FileStream(photo.FileNames)

sql = "select T_login.* from T_login"
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = cn
Dim dr As OleDbDataReader
cn.Open()
dr = cmd.ExecuteReader()
'cn.Close()

'chargement du DataSet à partir du DataAdapter
dta.Fill(dtt)

'dta.Fill(dts, "T_login")

'chargement de la DataTable à partir du DataSet
' dtt = dts.Tables("T_login")

'si la table est vide alors
If rownum > dtt.Rows.Count - 1 Then



'Me.Show()
'Me.txtnom.Focus()

Else

'affichage des données dans les textbox
Me.TxtNomU.Text = dtt.Rows(rownum).Item("login")
If dr.Read() Then
PictureBox3.Image = Image.FromFile(dr.Item(3))
Else
PictureBox3.Image = Image.FromFile(Application.StartupPath & "\vide.jpg")
End If


'affichage des données dans le datagrid
DataGrid2.SetDataBinding(dts, "T_login")



End If


Catch ex As Exception

MessageBox.Show(ex.Message)

End Try


################ fin code recuperation ###############

merci de votre aide d'avance
Commenter la réponse de street2009

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.