Comment enregistrer une photo dans une base de donnée access [Résolu]

yayoyanga 10 Messages postés mardi 25 mars 2014Date d'inscription 7 avril 2014 Dernière intervention - 25 mars 2014 à 12:12 - Dernière réponse : yayoyanga 10 Messages postés mardi 25 mars 2014Date d'inscription 7 avril 2014 Dernière intervention
- 31 mars 2014 à 10:21
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;

Afficher la suite 

15 réponses

Répondre au sujet
DevLama 353 Messages postés mercredi 13 avril 2011Date d'inscription 10 janvier 2018 Dernière intervention - Modifié par Whismeril le 25/03/2014 à 18:36
+2
Utile
1
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
Cette réponse vous a-t-elle aidé ?  
Whismeril 11404 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 25 mars 2014 à 18:38
Même correction pour le même motif
Commenter la réponse de DevLama
yayoyanga 10 Messages postés mardi 25 mars 2014Date d'inscription 7 avril 2014 Dernière intervention - Modifié par Whismeril le 25/03/2014 à 18:36
+1
Utile
1
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!!!
Whismeril 11404 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 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.
Commenter la réponse de yayoyanga
yayoyanga 10 Messages postés mardi 25 mars 2014Date d'inscription 7 avril 2014 Dernière intervention - Modifié par Whismeril le 25/03/2014 à 18:38
+1
Utile
1
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!!!
Whismeril 11404 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 25 mars 2014 à 18:39
Jamais deux sans trois '-)
Commenter la réponse de yayoyanga
yayoyanga 10 Messages postés mardi 25 mars 2014Date d'inscription 7 avril 2014 Dernière intervention - 26 mars 2014 à 09:27
+1
Utile
6
je vous attend!!!!
yayoyanga 10 Messages postés mardi 25 mars 2014Date d'inscription 7 avril 2014 Dernière intervention - 26 mars 2014 à 16:00
regarde ma première demande Mr
Whismeril 11404 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 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
yayoyanga 10 Messages postés mardi 25 mars 2014Date d'inscription 7 avril 2014 Dernière intervention - 26 mars 2014 à 16:27
"et Mindingo doit être occupé ailleurs" je pas compris ton message!!!!
Whismeril 11404 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 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
DevLama 353 Messages postés mercredi 13 avril 2011Date d'inscription 10 janvier 2018 Dernière intervention - 27 mars 2014 à 13:34
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", donneebinaire);// c'est ici que je veut des explications
Commenter la réponse de yayoyanga
remiki90 107 Messages postés samedi 28 juillet 2012Date d'inscription 11 mars 2018 Dernière intervention - 28 mars 2014 à 10:58
+1
Utile
1
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);
                }
            }
        }

yayoyanga 10 Messages postés mardi 25 mars 2014Date d'inscription 7 avril 2014 Dernière intervention - 31 mars 2014 à 10:21
Merci Beaucoup MINDONGO, ça marche
Commenter la réponse de remiki90

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.