Comment enregistrer une photo dans une base de donnée access

Résolu
yayoyanga
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
- 25 mars 2014 à 12:12
vb95
Messages postés
2634
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
27 mai 2022
- 13 juil. 2018 à 22:43
Salut,

débutant que je suis, je vous en pris de m'aider pour que j'enregistre une photo dans ma base des données access via picturebox;

6 réponses

DevLama
Messages postés
356
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
18 novembre 2021
10
Modifié par Whismeril le 25/03/2014 à 18:36
Tout d'abord tu dois convertir l'image en Binaire au niveau du code C# et dans ta BD tu dois créer une colonne de type OLE.

public static Image(byte[]bt){

MemoryStream strm=new MemoryStream(bt);
Image img=Image.FromStream(strm);
return img
}

//Conversion Image en binaire
public static byte[] Tobytes(String pathing){
MemoryStream strm=new MemoryStream();
Image img=Image.FromFile(pathing);
img.save(strm,System.Drawning.Imaging.ImageFormat.Bmp);
return strm.getBuffer();

}


La Science est Grande et Vaste partageons cette connaisance
2
Whismeril
Messages postés
17345
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2022
596
25 mars 2014 à 18:38
Même correction pour le même motif
0
yayoyanga
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
3
Modifié par Whismeril le 25/03/2014 à 18:36
en fait, voici le peut de code que j'ai réalisé mais jene sais comment ajouter la photo

 public CLIENT()
  {
   //
   // Requis pour la prise en charge du Concepteur Windows Forms
   //
   InitializeComponent();

   //
   // TODO : ajoutez le code du constructeur après l'appel à InitializeComponent
   //
  }
    
void enregfistrer()
        {     
            OdbcConnection cnx = new OdbcConnection("DSN=*****");
            try
            {
                cnx.Open();
            }
            catch
            {
                MessageBox.Show("Echec de la Connexion");
            }
            finally
            {
                int abc;

                System.Data.Odbc.OdbcCommand commd = new System.Data.Odbc.OdbcCommand("insert into client(code_client,nom,prenom,societe,date_naissance,lieu_naissance,adresse,tel,fax,e_mail,compte_bancaire,banque) values(?,?,?,?,?,?,?,?,?,?,?,?)", cnx);
                commd.Parameters.Add("code_client", Convert.ToDecimal(code_client.Text));
                commd.Parameters.Add("nom", nom.Text.ToUpper());
                commd.Parameters.Add("prenom", prenom.Text.ToUpper());
                if (societe.Text != "")

                    commd.Parameters.Add("societe", societe.Text);

                else

                    commd.Parameters.Add("societe", "anonyme");
                commd.Parameters.Add("date_naissance", @Convert.ToDateTime(date_naissance.Text));
                commd.Parameters.Add("lieu_naissance", lieu_naissance.Text);

                if (adresse.Text != "")
                    commd.Parameters.Add("adresse", adresse.Text);
                else
                    commd.Parameters.Add("adresse", "anonyme");
                if (tel.Text != "")
                    commd.Parameters.Add("tel", @Convert.ToDecimal(tel.Text));
                else
                    commd.Parameters.Add("tel", @Convert.ToDecimal("00000000"));
                if (fax.Text != "")
                    commd.Parameters.Add("fax", @Convert.ToDecimal(fax.Text));
                else
                    commd.Parameters.Add("fax", @Convert.ToDecimal("00000000"));
                if (e_mail.Text != "")
                    commd.Parameters.Add("e_mail", e_mail.Text);
                else
                    commd.Parameters.Add("e_mail", "anonyme");

                commd.Parameters.Add("compte_bancaire", compte_bancaire.Text);
                commd.Parameters.Add("banque", banque.Text);

                try
                {
                    if (nom.Text != "" && prenom.Text != "" && date_naissance.Text != "" && lieu_naissance.Text != "" && tel.Text != "" && banque.Text != "" && compte_bancaire.Text != "")
                    {
                        abc = commd.ExecuteNonQuery();
                        commd.Parameters.Clear();
                        MessageBox.Show(this, "Le Client a été Ajouté", "", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        //MAB
                        Initia();
                        code_client.Text = "";
                        nom.Text = "";
                        prenom.Text = "";
                        societe.Text = "";
                        date_naissance.Text = "";
                        lieu_naissance.Text = "";
                        adresse.Text = "";
                        tel.Text = "";
                        fax.Text = "";
                        e_mail.Text = "";
                        compte_bancaire.Text = "";
                        banque.Text  ="";
                    }
                    else
                        MessageBox.Show(this, "Vous devez remplir au moins les champs Obligatoire * ", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch
                {
                    MessageBox.Show(this, "Client déja existant", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }


donc je compte ajouter le picturebox

Ne perdez jamais courage!!!
1
Whismeril
Messages postés
17345
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2022
596
25 mars 2014 à 18:38
Correction de la coloration syntaxique, en utilisant la liste déroulante à drote de l'icône <>, tu peux choisir le langage. Sinon le site choisi tout seul et ça n'est pas toujours efficient.
0
yayoyanga
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
3
Modifié par Whismeril le 25/03/2014 à 18:38
maintenant à ce stade Mr OKOSA
System.Data.Odbc.OdbcCommand commd = new System.Data.Odbc.OdbcCommand("insert into client(code_client,nom,prenom,societe,date_naissance,lieu_naissance,adresse,tel,fax,e_mail,compte_bancaire,banque,Photo) values(?,?,?,?,?,?,?,?,?,?,?,?)", cnx)

//
 commd.Parameters.Add("Photo", Convert.*****(picturebox****));// c'est ici que je veut des explications


//
Ne perdez jamais courage!!!
1
Whismeril
Messages postés
17345
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2022
596
25 mars 2014 à 18:39
Jamais deux sans trois '-)
0
yayoyanga
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
3
26 mars 2014 à 09:27
je vous attend!!!!
1
Whismeril
Messages postés
17345
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2022
596
26 mars 2014 à 15:51
Bonjour,
Merci de garder à l'esprit que CodeS-SourceS est une communauté d'entraide. Toutes les réponses sur le forum sont assurées par des bénévoles qui donnent de leur temps libre pour aider à résoudre les problèmes.

A noter également que nous ne faisons pas dans le "tout cuit". Soit tu trouves ton bonheur dans la partie source du site, soit à l'aide de ton moteur de recherche favori. Ici, nous aidons volontiers sur des sujets techniques précis.

ici et des conseils d'écriture des messages.

ici comment utiliser la coloration syntaxique.

Et enfin, le plus important





Merci donc de reformuler ta demande en respectant ces quelques points.
0
yayoyanga
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
3
26 mars 2014 à 16:00
regarde ma première demande Mr
0
Whismeril
Messages postés
17345
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2022
596
26 mars 2014 à 16:16
Oui ton premier message est à peu près conforme, mais pas ceci
je vous attend!!!!


Je n'ai pas bloqué ton message, ou pire encore, mais un petit rappel.
Si Mondingo ou personne d'autre n'as encore répondu et bien c'est que ceux qui ont vu ton message aujourd'hui (dont moi) ne savent pas et Mindingo doit être occupé ailleurs. C'est le sens de
Toutes les réponses sur le forum sont assurées par des bénévoles qui donnent de leur temps libre pour aider à résoudre les problèmes
0
yayoyanga
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
3
26 mars 2014 à 16:27
"et Mindingo doit être occupé ailleurs" je pas compris ton message!!!!
0
Whismeril
Messages postés
17345
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2022
596
26 mars 2014 à 17:47
Et bien il ou elle a des occupations dans la vraie vie qui font qu'il ou elle vient sur le forum quand il ou elle peut
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
remiki90
Messages postés
132
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
27 décembre 2021
3
28 mars 2014 à 10:58
je te conseil de commencer par ici:

ton Picturebox=pictureimg

ajoute un boutons de commande btn_Insérer_Image avec ces codes:

private void btn_Insérer_Image_Click(object sender, EventArgs e)
            {
                try{
                OpenFileDialog imgdlg =new OpenFileDialog ();
                    imgdlg.Title ="Selectionner la photo du CLIENT";
                    imgdlg.CheckFileExists=true;
                    imgdlg.InitialDirectory=Application.StartupPath;
                    imgdlg.Filter="Fichiers image (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*";
                    imgdlg.FilterIndex=1;
                    imgdlg.RestoreDirectory=true;

                    if (imgdlg.ShowDialog()==DialogResult.OK)
                    {
                    pictureimg.Image=(Image)new Bitmap(imgdlg.FileName);
                    }               
                }

                catch (Exception lol)
                {MessageBox.Show (string.Concat("Erreur",lol.Message));}
            }
    }



puis lors de ton enregistrement tu ajoute:

void save()
        {
            MemoryStream saveimg = new MemoryStream();
            pictureimg.Image.Save(saveimg,System.Drawing.Imaging.ImageFormat.Jpeg);
            Byte[] btmg = saveimg.GetBuffer();
            
            OdbcConnection cnx = new OdbcConnection("DSN=******");
            try
            {
                cnx.Open();
            }
            catch
            {
                MessageBox.Show("Echec de la Connexion");
            }
            finally
            {
                int abc;

                System.Data.Odbc.OdbcCommand commd = new System.Data.Odbc.OdbcCommand("insert into client(code_client,nom,prenom,societe,date_naissance,lieu_naissance,adresse,tel,fax,e_mail,compte_bancaire,banque,photo) values(?,?,?,?,?,?,?,?,?,?,?,?,?)", cnx);
                commd.Parameters.Add("code_client", Convert.ToDecimal(code_client.Text));
                commd.Parameters.Add("nom", nom.Text.ToUpper());
                commd.Parameters.Add("prenom", prenom.Text.ToUpper());
                if (societe.Text != "")

                    commd.Parameters.Add("societe", societe.Text);

                else

                    commd.Parameters.Add("societe", "anonyme");
                commd.Parameters.Add("date_naissance", @Convert.ToDateTime(date_naissance.Text));
                commd.Parameters.Add("lieu_naissance", lieu_naissance.Text);

                if (adresse.Text != "")
                    commd.Parameters.Add("adresse", adresse.Text);
                else
                    commd.Parameters.Add("adresse", "anonyme");
                if (tel.Text != "")
                    commd.Parameters.Add("tel", @Convert.ToDecimal(tel.Text));
                else
                    commd.Parameters.Add("tel", @Convert.ToDecimal("00000000"));
                if (fax.Text != "")
                    commd.Parameters.Add("fax", @Convert.ToDecimal(fax.Text));
                else
                    commd.Parameters.Add("fax", @Convert.ToDecimal("00000000"));
                if (e_mail.Text != "")
                    commd.Parameters.Add("e_mail", e_mail.Text);
                else
                    commd.Parameters.Add("e_mail", "anonyme");

                commd.Parameters.Add("compte_bancaire", compte_bancaire.Text);
                commd.Parameters.Add("banque", banque.Text);
                if (societe.Text != "")

                    commd.Parameters.Add("societe", societe.Text);
                else 
                   
                    commd.Parameters.Add("photo", OdbcType.VarBinary, btmg.Length);

                try
                {
                    if (nom.Text != "" && prenom.Text != "" && date_naissance.Text != "" && lieu_naissance.Text != "" && tel.Text != "" && banque.Text != "" && compte_bancaire.Text != "")
                    {
                        abc = commd.ExecuteNonQuery();
                        commd.Parameters.Clear();
                        MessageBox.Show(this, "Le Client a été Ajouté", "", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        //MAB
                        Initia();
                        code_client.Text = "";
                        nom.Text = "";
                        prenom.Text = "";
                        societe.Text = "";
                        date_naissance.Text = "";
                        lieu_naissance.Text = "";
                        adresse.Text = "";
                        tel.Text = "";
                        fax.Text = "";
                        e_mail.Text = "";
                        compte_bancaire.Text = "";
                        banque.Text  ="";
                    }
                    else
                        MessageBox.Show(this, "Vous devez remplir au moins les champs Obligatoire * ", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch
                {
                    MessageBox.Show(this, "Client déja existant", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

1
yayoyanga
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
3
31 mars 2014 à 10:21
Merci Beaucoup MINDONGO, ça marche
0
slt, comment pouvez m'aider. je suis d'entraun de sauvegarder une imade dans une base de donnees mais l'image viens d'un picturebox qui n'a pas été pathé mais d'une generation de codebar. voici mes ligne de codes.

private void button7_Click(object sender, EventArgs e)
        {
            string c = txtcode.Text;
            string n = txtnompro.Text;
            string p = txtprixpro.Text;
            string t = txtdesc.Text;
            DateTime d = DateTime.Now;

// a partir de la 
            string imgpict = "";
            byte[] img = null;
            imgpict = pictureBox.ToString();
            pictureBox.ImageLocation = imgpict;
            FileStream fs = new FileStream (imgpict, FileMode.Open, FileAccess.Read);
            BinaryReader rd = new BinaryReader (fs);
            img = rd.ReadBytes((int)fs.Length);
          
            string req = co.EnregistrerProduits(c, n, p,d, t,img);
            MessageBox.Show(req);


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
0
vb95
Messages postés
2634
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
27 mai 2022
151
13 juil. 2018 à 22:43
Bonjour
il est d'usage de ne pas se greffer sur un post existant afin de poser sa propre question
Ouvre ta propre discussion
Merci
0