Ajout d'un enregistrement dans une Base de données

Résolu
gbohourou Messages postés 5 Date d'inscription vendredi 15 juin 2018 Statut Membre Dernière intervention 15 janvier 2019 - Modifié le 17 juin 2018 à 10:16
vb95 Messages postés 3418 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 31 mai 2023 - 17 juin 2018 à 10:55
Bonjour, Bonjour à tous, voilà je rencontre un problème et je souhaiterais que vous m'aidiez à le résoudre.

                                                                                                        #region VALEURS DES PARAMETRES
                                                                                                        Param_Fidele.Value = this.txtCodePersonnel.Text; //0
                                                                                                        Param_CodeCivilite.Value = this.txtCodeCivilite.Text; //1
                                                                                                        Param_NomPers.Value = this.txtNomPersonnel.Text;  //2
                                                                                                        Param_PrenomPers.Value = this.txtPrenomPersonnel.Text; //3
                                                                                                        Param_DateNaiss.Value = this.txtNaissanceDate.Text; //4
                                                                                                        Param_CodeLieu.Value = this.txtCodeLieu.Text; //5
                                                                                                        Param_Grade.Value = this.txtCodeGrade.Text; //6
                                                                                                        Param_Fonction.Value = this.txtCodeFonction.Text; //7
                                                                                                        Param_Bapteme.Value = this.cbxBaptise.Checked; //8
                                                                                                        Param_DateBapteme.Value = this.txtDateBatise.Text; //9
                                                                                                        Param_Occupation.Value = this.txtCodeOccupation.Text;//10
                                                                                                        Param_StatutFamille.Value = this.txtCodeStatutSocial.Text;//11
                                                                                                        Param_Enfant.Value = this.txtNbEnfants.Text; //12
                                                                                                        Param_Residence.Value = this.txtCodeResidence.Text; //13
                                                                                                        Param_Paroisse.Value = this.txtCodeParoisse.Text; //14
                                                                                                        Param_Conjoint.Value = this.txtNomConjoint.Text;//15
                                                                                                        Param_Tel.Value = this.txtContact.Text;  //16
                                                                                                        Param_Photo.Value = this.bytPhoto;  //17
                                                                                                        Param_DateEngage.Value = this.txtDateEffet.Text; //18
                                                                                                        Param_Obs.Value = this.txtObservations.Text;  //19
                                                                                                        Param_NomPhoto.Value = this.txtNomPhoto.Text; //20
                                                                                                        #endregion

                                                                                                        #region REQUETE D'AJOUT
                                                                                                        string sInsertionSQL = string.Format("INSERT INTO FIDELES([code_fidele], [code_civilite], [nom_fidele]," + "\n" +
                                                                                                        "[prenoms_fidele], [date_naissance], [code_lieu], [code_grade], [code_fonction], [baptise]," + "\n" +
                                                                                                        "[date_bapteme], [code_occupation],[code_situation_famille], [nombre_enfants], [code_residence]," + "\n" +
                                                                                                        "[code_paroisse], [nom_conjoint],[telephone],[photo_fidele], [date_enregistrement], [observations],[nom_photo])" + "\n" +//
                                                                                                        "VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20})",
                                                                                                        Param_Fidele.ParameterName,//0
                                                                                                        Param_CodeCivilite.ParameterName,//1
                                                                                                        Param_NomPers.ParameterName,//2
                                                                                                        Param_PrenomPers.ParameterName,//3
                                                                                                        Param_DateNaiss.ParameterName,//4
                                                                                                        Param_CodeLieu.ParameterName,//5
                                                                                                        Param_Grade.ParameterName,//6
                                                                                                        Param_Bapteme.ParameterName,//8
                                                                                                        Param_DateBapteme.ParameterName,//9
                                                                                                        Param_Occupation.ParameterName,//10
                                                                                                        Param_StatutFamille.ParameterName,//11
                                                                                                        Param_Enfant.ParameterName,//12
                                                                                                        Param_Residence.ParameterName,//13
                                                                                                        Param_Paroisse.ParameterName,//14
                                                                                                        Param_Conjoint.ParameterName,//15
                                                                                                        Param_Tel.ParameterName,//16
                                                                                                        Param_Photo.ParameterName,//17
                                                                                                        Param_DateEngage.ParameterName,//18
                                                                                                        Param_Obs.ParameterName,//19
                                                                                                        Param_NomPhoto.ParameterName);//20
                                                                                                        #endregion

                                                                                                        #region AJOUT DE DONNEES
                                                                                                        OleDbCommand Comd = new OleDbCommand(sInsertionSQL.ToString(), Conex);

                                                                                                        Comd.Parameters.Add(Param_Fidele);//0
                                                                                                        Comd.Parameters.Add(Param_CodeCivilite);//1
                                                                                                        Comd.Parameters.Add(Param_NomPers);//2
                                                                                                        Comd.Parameters.Add(Param_PrenomPers);//3
                                                                                                        Comd.Parameters.Add(Param_DateNaiss);//4
                                                                                                        Comd.Parameters.Add(Param_CodeLieu);//5
                                                                                                        Comd.Parameters.Add(Param_Grade);//6
                                                                                                        Comd.Parameters.Add(Param_Fonction);//7
                                                                                                        Comd.Parameters.Add(Param_Bapteme);//8
                                                                                                        Comd.Parameters.Add(Param_DateBapteme);//9
                                                                                                        Comd.Parameters.Add(Param_Occupation);//10
                                                                                                        Comd.Parameters.Add(Param_StatutFamille);//11
                                                                                                        Comd.Parameters.Add(Param_Enfant);//12
                                                                                                        Comd.Parameters.Add(Param_Residence);//13
                                                                                                        Comd.Parameters.Add(Param_Paroisse);//14
                                                                                                        Comd.Parameters.Add(Param_Conjoint);//15
                                                                                                        Comd.Parameters.Add(Param_Tel);//16
                                                                                                        Comd.Parameters.Add(Param_Photo);//17
                                                                                                        Comd.Parameters.Add(Param_DateEngage);//18
                                                                                                        Comd.Parameters.Add(Param_Obs);//19
                                                                                                        Comd.Parameters.Add(Param_NomPhoto);//20
                                                                                                        #endregion

                                                                                                        #region VALIDATION AJOUT
                                                                                                        Conex.Open();
                                                                                                        Comd.ExecuteNonQuery();

                                                                                                        MessageBox.Show("Nouvel Enregistrement\najouté avec succès", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information);

                                                                                                        Conex.Close();
                                                                                                        #endregion

Mais je reçois le message suivant:
"L'index (de base zéro) doit être supérieur ou égal à zéro et inférieur à la taille de la liste des arguments."
Je cherche, mais je ne trouve pas où j'ai bien pu faire cette erreur. Merci de m'aider.

2 réponses

vb95 Messages postés 3418 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 31 mai 2023 165
Modifié le 17 juin 2018 à 04:32
Bonjour
Voici ton code mieux formaté

    //  VALEURS DES PARAMETRES
    Param_Fidele.Value = this.txtCodePersonnel.Text; //0
    Param_CodeCivilite.Value = this.txtCodeCivilite.Text; //1
    Param_NomPers.Value = this.txtNomPersonnel.Text;  //2
    Param_PrenomPers.Value = this.txtPrenomPersonnel.Text; //3
    Param_DateNaiss.Value = this.txtNaissanceDate.Text; //4
    Param_CodeLieu.Value = this.txtCodeLieu.Text; //5
    Param_Grade.Value = this.txtCodeGrade.Text; //6
    Param_Fonction.Value = this.txtCodeFonction.Text; //7
    Param_Bapteme.Value = this.cbxBaptise.Checked; //8
    Param_DateBapteme.Value = this.txtDateBatise.Text; //9
    Param_Occupation.Value = this.txtCodeOccupation.Text;//10
    Param_StatutFamille.Value = this.txtCodeStatutSocial.Text;//11
    Param_Enfant.Value = this.txtNbEnfants.Text; //12
    Param_Residence.Value = this.txtCodeResidence.Text; //13
    Param_Paroisse.Value = this.txtCodeParoisse.Text; //14
    Param_Conjoint.Value = this.txtNomConjoint.Text;//15
    Param_Tel.Value = this.txtContact.Text;  //16
    Param_Photo.Value = this.bytPhoto;  //17
    Param_DateEngage.Value = this.txtDateEffet.Text; //18
    Param_Obs.Value = this.txtObservations.Text;  //19
    Param_NomPhoto.Value = this.txtNomPhoto.Text; //20

    // REQUETE D'AJOUT
    string sInsertionSQL = string.Format("INSERT INTO FIDELES([code_fidele], [code_civilite], [nom_fidele]," + "\n" +
    "[prenoms_fidele], [date_naissance], [code_lieu], [code_grade], [code_fonction], [baptise]," + "\n" +
    "[date_bapteme], [code_occupation],[code_situation_famille], [nombre_enfants], [code_residence]," + "\n" +
    "[code_paroisse], [nom_conjoint],[telephone],[photo_fidele], [date_enregistrement], [observations],[nom_photo])" + "\n" +//
    "VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20})",
    Param_Fidele.ParameterName,//0
    Param_CodeCivilite.ParameterName,//1
    Param_NomPers.ParameterName,//2
    Param_PrenomPers.ParameterName,//3
    Param_DateNaiss.ParameterName,//4
    Param_CodeLieu.ParameterName,//5
    Param_Grade.ParameterName,//6  
   //    il est où l'élément d'indice 7 ?
    Param_Bapteme.ParameterName,//8
    Param_DateBapteme.ParameterName,//9
    Param_Occupation.ParameterName,//10
    Param_StatutFamille.ParameterName,//11
    Param_Enfant.ParameterName,//12
    Param_Residence.ParameterName,//13
    Param_Paroisse.ParameterName,//14
    Param_Conjoint.ParameterName,//15
    Param_Tel.ParameterName,//16
    Param_Photo.ParameterName,//17
    Param_DateEngage.ParameterName,//18
    Param_Obs.ParameterName,//19
    Param_NomPhoto.ParameterName);//20

    // AJOUT DE DONNEES
    OleDbCommand Comd = new OleDbCommand(sInsertionSQL.ToString(), Conex);
    Comd.Parameters.Add(Param_Fidele);//0
    Comd.Parameters.Add(Param_CodeCivilite);//1
    Comd.Parameters.Add(Param_NomPers);//2
    Comd.Parameters.Add(Param_PrenomPers);//3
    Comd.Parameters.Add(Param_DateNaiss);//4
    Comd.Parameters.Add(Param_CodeLieu);//5
    Comd.Parameters.Add(Param_Grade);//6
    Comd.Parameters.Add(Param_Fonction);//7
    Comd.Parameters.Add(Param_Bapteme);//8
    Comd.Parameters.Add(Param_DateBapteme);//9
    Comd.Parameters.Add(Param_Occupation);//10
    Comd.Parameters.Add(Param_StatutFamille);//11
    Comd.Parameters.Add(Param_Enfant);//12
    Comd.Parameters.Add(Param_Residence);//13
    Comd.Parameters.Add(Param_Paroisse);//14
    Comd.Parameters.Add(Param_Conjoint);//15
    Comd.Parameters.Add(Param_Tel);//16
    Comd.Parameters.Add(Param_Photo);//17
    Comd.Parameters.Add(Param_DateEngage);//18
    Comd.Parameters.Add(Param_Obs);//19
    Comd.Parameters.Add(Param_NomPhoto);//20

    // VALIDATION AJOUT
    Conex.Open();
    Comd.ExecuteNonQuery();
    MessageBox.Show("Nouvel Enregistrement\najouté avec succès", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information);
    Conex.Close();



A vérifier : regarde dans le code formaté au niveau de la requête d'ajout: il manque l'élément d'indice 7
J'ai enlevé les Régions : cela mettait le bazar dans l'affichage

<code
0
gbohourou Messages postés 5 Date d'inscription vendredi 15 juin 2018 Statut Membre Dernière intervention 15 janvier 2019
17 juin 2018 à 08:53
Maintenant je souhaiterais afficher pour cette question, la mention résolue, comment procéder?
0
vb95 Messages postés 3418 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 31 mai 2023 165 > gbohourou Messages postés 5 Date d'inscription vendredi 15 juin 2018 Statut Membre Dernière intervention 15 janvier 2019
Modifié le 17 juin 2018 à 11:04
Bonjour
Utilise la roue dentée à droite du titre de ton message pour la mention résolue
Pour répondre directement au message d'un intervenant clique la flèche à côté de son message ( tu mets un commentaire à une réponse d'un intervenant ) . Le "Répondre au sujet" tout en bas est pour une réponse générale.
Heureux de t'avoir rendu service
A+
0
gbohourou Messages postés 5 Date d'inscription vendredi 15 juin 2018 Statut Membre Dernière intervention 15 janvier 2019
17 juin 2018 à 08:50
Bonjour à toi V95, merci pour ce grand coup de pouce, c'est vrai j'ai oublié l'élément d'indice 7 en cours de route. Je l'ai rajouté et l'enregistrement s'effectue normalement. Merci encore.
0