Err quand la table est vide

Signaler
-
Messages postés
15933
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 mai 2021
-
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

Messages postés
15933
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 mai 2021
545
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