Err quand la table est vide

shady99 - 1 mai 2013 à 23:02
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 1 mai 2013 à 23:34
Bonjour a vous tous
j'ai un probleme dans m'application

quand la table contient des info ,tout marche bien


mais si la table est vide ... un message s’affiche


puis cette erreur


voici mon code :
 ....
    public partial class Fournisseur : Form
    {
        public Fournisseur()
        {
            InitializeComponent();
        }
        public void Afficher()
        {
            try
            {
                Connexion.cnx.Open();
                Connexion.cmd.CommandText = "select * from Fournisseur";
                Connexion.dr = Connexion.cmd.ExecuteReader();
                Connexion.bs.DataSource = Connexion.dr;
                dataGridView_F.DataSource = Connexion.bs;

                textBox_code_fournisseur.DataBindings.Add("Text", Connexion.bs, "code_fournisseur");
                textBox_nom_fournisseur.DataBindings.Add("Text", Connexion.bs, "nom_fournisseur");
                textBox_adresse_fournisseur.DataBindings.Add("Text", Connexion.bs, "adresse_fournisseur");
                textBox_telephone_fournisseur.DataBindings.Add("Text", Connexion.bs, "telephone_fournisseur");
                textBox_e_mail_fournisseur.DataBindings.Add("Text", Connexion.bs, "e_mail");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                Connexion.dr.Close();
                Connexion.cnx.Close();
            }
        }

        private void button_ajouter_fournisseur_Click(object sender, EventArgs e)
        {

            if (textBox_code_fournisseur.Text != "" && textBox_nom_fournisseur.Text != "" && textBox_adresse_fournisseur.Text != "" && textBox_telephone_fournisseur.Text != "" && textBox_e_mail_fournisseur.Text != "")
            {
                try
                {
                    Connexion.cnx.Open();
                    Connexion.cmd.CommandText = "insert into Fournisseur values(@a,@b,@c,@d,@e)";
                    Connexion.cmd.Parameters.Clear();
                    Connexion.cmd.Parameters.AddWithValue("@a", textBox_code_fournisseur.Text);
                    Connexion.cmd.Parameters.AddWithValue("@b", textBox_nom_fournisseur.Text);
                    Connexion.cmd.Parameters.AddWithValue("@c", textBox_adresse_fournisseur.Text);
                    Connexion.cmd.Parameters.AddWithValue("@d", textBox_telephone_fournisseur.Text);
                    Connexion.cmd.Parameters.AddWithValue("@e", textBox_e_mail_fournisseur.Text);
                    Connexion.cmd.ExecuteNonQuery();
                    MessageBox.Show("Fournisseur Ajouter");
                }
                catch (Exception)
                {
                    MessageBox.Show("Il existe déja un Fournisseur avec ce Code !!");
                }
                finally
                {
                    Connexion.cnx.Close();
                }
                
                Afficher();
            }

            else
            {
                MessageBox.Show("il y a un champ vide", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            } 
        }

        private void button_modifier_fournisseur_Click(object sender, EventArgs e)
        {
            try
            {
                Connexion.cmd.CommandText = "update Fournisseur set code_fournisseur=@a,nom_fournisseur=@b,adresse_fournisseur=@c,telephone_fournisseur=@d,e_mail=@e  where code_fournisseur=@a";
                Connexion.cmd.Parameters.Clear();
                Connexion.cmd.Parameters.AddWithValue("@a", textBox_code_fournisseur.Text);
                Connexion.cmd.Parameters.AddWithValue("@b", textBox_nom_fournisseur.Text);
                Connexion.cmd.Parameters.AddWithValue("@c", textBox_adresse_fournisseur.Text);
                Connexion.cmd.Parameters.AddWithValue("@d", textBox_telephone_fournisseur.Text);
                Connexion.cmd.Parameters.AddWithValue("@e", textBox_e_mail_fournisseur.Text);
                Connexion.cnx.Open();
                int n = (int)Connexion.cmd.ExecuteNonQuery();
                if (n != 0)
                {
                    MessageBox.Show("Modification Avec succés ");
                }
                else
                {
                    MessageBox.Show("Element Introuvable");
                }
                
            }
            catch (Exception ex)
            {
                MessageBox.Show("Modifier Annulèe :\n" + ex.Message);
            }
            finally
            {
                Connexion.cnx.Close();
            }
            Afficher();
        }

        private void button_supprimer_fournisseur_Click(object sender, EventArgs e)
        {
            DialogResult str;
            str = MessageBox.Show("Voulez-vous vraiment supprimer le Fournisseur ?", "attention", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (str == DialogResult.Yes)
            {
                try
                {
                    Connexion.cnx.Open();
                    Connexion.cmd.CommandText "delete from Fournisseur where code_Fournisseur " + dataGridView_F.CurrentRow.Cells[0].Value.ToString();
                    Connexion.cmd.ExecuteNonQuery();
                    MessageBox.Show("Fournisseur supprimer");
                }
                catch
                {
                    MessageBox.Show(" Impossible de supprimer le fournisseur \n il y a un materiel qui contient le nom de cet Fournisseur");
                }
                finally
                {
                    Connexion.cnx.Close();
                }             
                Afficher();
            }
        }

        private void Fournisseur_Load(object sender, EventArgs e)
        {
            try
            {
                Connexion.cnx.Open();
                Connexion.cmd.CommandText = "select * from Fournisseur";
                if (Connexion.dr != null)
                {
                    Connexion.dr = Connexion.cmd.ExecuteReader();
                    Connexion.bs.DataSource = Connexion.dr;

                    dataGridView_F.DataSource = Connexion.bs;
                }
              
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                
                Connexion.cnx.Close();
            }
            Afficher();
        }

        private void button_annuler_fournisseur_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void button_nouveau_fournisseur_Click(object sender, EventArgs e)
        {
            Connexion.cnx.Open();
            textBox_code_fournisseur.Text = "";
            textBox_nom_fournisseur.Text = "";
            textBox_adresse_fournisseur.Text = "";
            textBox_telephone_fournisseur.Text = "";
            textBox_e_mail_fournisseur.Text = "";
            Connexion.cnx.Close();
        }
    }
}

1 réponse

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
1 mai 2013 à 23:34
Bonsoir,

je ferais un test ici
Connexion.dr = Connexion.cmd.ExecuteReader();

S'il n'y a pas d'enregistrement un return pour sortir de la méthode afficher.




Whismeril
0
Rejoignez-nous