Le paramètre n'est pas valide

Signaler
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
-
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
-
Bonjour,

en voulant afficher une photo, après qu'elle soit enregistrée,

un message d'erreur m'est affiché "L'Exception ArgumentException n'a pas été Gérée"

voici les codes tenté

void prece_dent()
        {
            //try{
                if (INDEX != 1)
                {
                    INDEX--;
                    lblenre.Text = "" + INDEX + " / " + rowCount;
                    OdbcConnection cnx = new OdbcConnection("DSN=*****");
                    cnx.Open();
                    OdbcDataReader dtr;
                    OdbcCommand comded = new OdbcCommand("select *from client");
                    comded.Connection = cnx;
                    dtr = comded.ExecuteReader();
                    for (int i = 0; i < INDEX; i++) dtr.Read();
                    code_client.Text = dtr.GetInt32(0).ToString();
                    nom.Text = dtr.GetString(1);
                    prenom.Text = dtr.GetString(2);
                    societe.Text = dtr.GetString(3);
                    date_naissance.Text = dtr.GetDate(4).ToString();
                    lieu_naissance.Text = dtr.GetString(5);
                    adresse.Text = dtr.GetString(6);
                    tel.Text = dtr.GetInt32(7).ToString();
                    fax.Text = dtr.GetInt32(8).ToString();
                    e_mail.Text = dtr.GetString(9);
                    compte_bancaire.Text = dtr.GetInt32(10).ToString();
                    banque.Text = dtr.GetString(11);
                    OdbcDataAdapter adpt = new OdbcDataAdapter(comded);
                    dtr.Close();
                    DataSet ds = new DataSet();
                    adpt.Fill(ds, "client");
                    int c = ds.Tables["client"].Rows.Count;
                    if (c > 0)
                    {
                        Byte[] btpht = new Byte[0];
                        btpht = (Byte[])(ds.Tables["client"].Rows[c - 1]["photo"]);
                        MemoryStream phtosssss = new MemoryStream(btpht);

                        //try
                        //{
                       // c'est ici que le msg est affiché
                            pictureBox1.Image = Image.FromStream(phtosssss);
                            
                       // }
                        //catch (Exception ex)
                        //{ MessageBox.Show(ex.Message); }
                    }


                    cnx.Close();
                    if (INDEX == 1)
                    {
                        cmdprev.Enabled = false;
                        SUIVANTS.Enabled = false;
                    }
                    cmdnext.Enabled = true;
                    SUIVANTS.Enabled = true;
                    d_client.UnSelect(selec);
                    d_client.Select(INDEX - 1);
                    selec = INDEX - 1;
                //}
            }
            //catch(Exception ex)
           // { MessageBox.Show(ex.Message); }


3 réponses

Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
3
le problème se répose ici:

DataSet ds = new DataSet();
                    adpt.Fill(ds, "client");
                    int c = ds.Tables["client"].Rows.Count;
                    if (c > 0)
                    {
                        Byte[] btpht = new Byte[0];
                        btpht = (Byte[])(ds.Tables["client"].Rows[c - 1]["photo"]);
                        MemoryStream phtosssss = new MemoryStream(btpht);

                        try
                        {
                        //c'est ici que le msg est affiché
                            pictureBox1.Image = Image.FromStream(phtosssss);// ICI LE MESSAGE EST AFFICHE
                            
                        }
                        catch (Exception ex)
                        { MessageBox.Show(ex.Message); }
                    }

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
28
Bonjour

A priori il n'y a pas de raison que cela ne fonctionne pas, ton code me semble correct.
Es-tu certain que dans la base de données la colonne "photo" contient la sérialisation d'une image ?
Messages postés
10
Date d'inscription
mardi 25 mars 2014
Statut
Membre
Dernière intervention
7 avril 2014
3
j'ai crée une BDD access, c'est ne pas sql server

et le type est d'objet OLE
je constate que c'est laba ou se répose le problème, puis j'ai vérifié
le contenu de mon tableau d'octets "btpht",donc btpht.length ={byte [8]}