Requête paramétrée de mise à jour [Résolu]

Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Dernière intervention
25 juillet 2013
- - Dernière réponse : cs_warzet
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Dernière intervention
25 juillet 2013
- 4 janv. 2013 à 10:26
Bonne Année à tous,
Voila j'ai un petit soucis avec une requête paramétrée de mise à jour. Si quelqu'un a une idée. J'ai réalisé cette requête d'insertion et je sais pas comment réaliser celle de mise à jour:
INSERTION:
try
                                                    {
                                                        Cnx.Open();
                                                        System.Data.OleDb.OleDbDataReader DtR;
                                                        String SQLquery = "SELECT * FROM [Absences] where code_eleve=@p1 AND date_absence=@p2 AND code_jour=@p3 AND code_horaire=@p4;";
                                                        System.Data.OleDb.OleDbCommand Comde = new System.Data.OleDb.OleDbCommand(SQLquery, Cnx);
                                                        Comde.Parameters.Add(new OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 50,
                                                            ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, (this.txtCodeEleve.Text)));
                                                        Comde.Parameters.Add(new OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 50,
                                                            ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, DateTime.Parse(this.txtDateDebut.Text)));
                                                        Comde.Parameters.Add(new OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 50,
                                                            ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, int.Parse(this.txtCodeJour.Text)));
                                                        Comde.Parameters.Add(new OleDbParameter("p4", System.Data.OleDb.OleDbType.VarWChar, 50,
                                                           ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, int.Parse(this.txtCodeHoraire.Text)));

                                                        DtR = Comde.ExecuteReader();
                                                        if (DtR.Read() != true)
                                                        {
                                                            // Connexion à la base de test
                                                            OleDbConnection Conex = new OleDbConnection(strConex);
                                                            //********************************************

                                                            //Préparation des paramètres
                                                            OleDbParameter Param_CodeEleve = new OleDbParameter("@CodeEleve", OleDbType.VarWChar, 50);//0
                                                            OleDbParameter Param_CodeAnnee = new OleDbParameter("@CodeAnnee", OleDbType.Integer);//1
                                                            OleDbParameter Param_CodeClas = new OleDbParameter("@CodeClasse", OleDbType.Integer);//2
                                                            OleDbParameter Param_CodeTrim = new OleDbParameter("@CodeTrim", OleDbType.Integer);//3
                                                            OleDbParameter Param_CodeMat = new OleDbParameter("@CodeMat", OleDbType.Integer);//4
                                                            OleDbParameter Param_CodeEduc = new OleDbParameter("@CodeEduc", OleDbType.VarWChar, 50);//5
                                                            OleDbParameter Param_Date = new OleDbParameter("@Date", OleDbType.Date);//6
                                                            OleDbParameter Param_CodeJour = new OleDbParameter("@Jour", OleDbType.Integer);//7
                                                            OleDbParameter Param_CodeHeure = new OleDbParameter("@Heure", OleDbType.Integer);//8
                                                            OleDbParameter Param_Motif = new OleDbParameter("@Motif", OleDbType.VarWChar, 250);//9
                                                            OleDbParameter Param_Just = new OleDbParameter("@Justifie", OleDbType.VarWChar, 1);//10

                                                            Param_CodeEleve.Value = this.txtCodeEleve.Text;//0
                                                            Param_CodeAnnee.Value = this.txtCodeAnneeScolaire.Text;//1
                                                            Param_CodeClas.Value = this.txtCodeClasse.Text;//2
                                                            Param_CodeTrim.Value = this.txtCodeTrimestre.Text;//3
                                                            Param_CodeMat.Value = this.txtCodeMatiere.Text;//4
                                                            Param_CodeEduc.Value = this.txtCodeEducateur.Text;//5
                                                            Param_Date.Value = this.txtDateDebut.Text;//6
                                                            Param_CodeJour.Value = this.txtCodeJour.Text;//7
                                                            Param_CodeHeure.Value = this.txtCodeHoraire.Text;//8
                                                            Param_Motif.Value = this.txtMotifAbsences.Text;//9
                                                            Param_Just.Value = this.txtJustifiee.Text;//10

                                                            string sInsertionSQL = string.Format("INSERT INTO Absences([code_eleve], [code_annee], [code_classe]," + "\n" +
                                                                "[code_trimestre], [code_matiere], [code_educateur], [date_absence], [code_jour]," + "\n" +
                                                                "[code_horaire], [motif_absence], [justifiee])" + "\n" +
                                                                "VALUES({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10})",
                                                            Param_CodeEleve.ParameterName,//0
                                                            Param_CodeAnnee.ParameterName,//1
                                                            Param_CodeClas.ParameterName,//2
                                                            Param_CodeEduc.ParameterName,//3
                                                            Param_CodeHeure.ParameterName,//4
                                                            Param_CodeJour.ParameterName,//5
                                                            Param_CodeMat.ParameterName,//6
                                                            Param_CodeTrim.ParameterName,//7
                                                            Param_Date.ParameterName,//8
                                                            Param_Just.ParameterName,//9
                                                            Param_Motif.ParameterName);//10

                                                            OleDbCommand Comd = new OleDbCommand(sInsertionSQL.ToString(), Conex);

                                                            Comd.Parameters.Add(Param_CodeAnnee);//0
                                                            Comd.Parameters.Add(Param_CodeClas);//1
                                                            Comd.Parameters.Add(Param_CodeEduc);//2
                                                            Comd.Parameters.Add(Param_CodeEleve);//3
                                                            Comd.Parameters.Add(Param_CodeHeure);//4
                                                            Comd.Parameters.Add(Param_CodeJour);//5
                                                            Comd.Parameters.Add(Param_CodeMat);//6
                                                            Comd.Parameters.Add(Param_CodeTrim);//7
                                                            Comd.Parameters.Add(Param_Date);//8
                                                            Comd.Parameters.Add(Param_Just);//9
                                                            Comd.Parameters.Add(Param_Motif);//10

                                                            Conex.Open();
                                                            Comd.ExecuteNonQuery();

                                                            //********************************************
                                                            // Active les autres boutons
                                                            this.btnQuitter.Enabled = true;
                                                            this.btnNouveau.Enabled = true;
                                                            this.btnPrecedent.Enabled = true;
                                                            this.btnSuivant.Enabled = true;
                                                            this.btnModifier.Enabled = true;
                                                            this.btnSupprimer.Enabled = true;
                                                            this.btnPremier.Enabled = true;
                                                            this.btnDernier.Enabled = true;
                                                            this.btnAnnuler.Enabled = true;

                                                            this.btnNouveau.Text = "&Nouveau";
                                                            this.btnAnnuler.Text = "&Chercher";
                                                            this.btnAnnuler.BackColor = Color.Navy;
                                                            this.btnNouveau.BackColor = Color.Navy;
                                                            this.lblTotal.Visible = true;

                                                            //this.dgvEnseignant.Visible = true;
                                                            Conex.Close();

                                                            // Affiche le premier élève par ordre alphabétique
                                                            frmAbsences_Load(null, null);
                                                        }
                                                        else
                                                        {
                                                            MessageBox.Show("Cette Absence est déjà Enregistrée", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                                        }
                                                        DtR.Close();
                                                    }
                                                    catch (FileNotFoundException ex) //(Exception ex)
                                                    {
                                                        //MessageBox.Show("Veuillez renseigner tous les Champs", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                        //this.txtCodeEnseignant.Focus();
                                                        MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                    }


POUR LE UPDATE, aucune idée ne me revient. Aidez moi
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Dernière intervention
25 juillet 2013
3
Merci
J'ai résolu mon problème, merci à tous
        private void Click_Modifier(object sender, EventArgs e)
        {
               try
                {
                    //Ouverture de la connexion
                    Conex.Open();

                    MAJ_EmploiDuTemps();

                    //Préparation des paramètres
                    OleDbParameter Param_Debut = new OleDbParameter("@Debut", OleDbType.Date);//0
                    OleDbParameter Param_CodeEleve = new OleDbParameter("@CodeEleve", OleDbType.VarWChar, 50);//1
                    OleDbParameter Param_CodeClas = new OleDbParameter("@CodeClasse", OleDbType.Integer);//2
                    OleDbParameter Param_CodeMat = new OleDbParameter("@CodeMat", OleDbType.Integer);//3
                    OleDbParameter Param_Coef = new OleDbParameter("@Coef", OleDbType.Integer);//4
                    OleDbParameter Param_CodeAnnee = new OleDbParameter("@CodeAnnee", OleDbType.Integer);//5
                    OleDbParameter Param_PP = new OleDbParameter("@PP", OleDbType.Boolean);//6
                    OleDbParameter Param_Fin = new OleDbParameter("@Fin", OleDbType.Date);//7
                    OleDbParameter Param_Obs = new OleDbParameter("@Obs", OleDbType.VarWChar, 250);//8
                    OleDbParameter Param_NbHeure = new OleDbParameter("@NbHeure", OleDbType.Integer);//9
                    OleDbParameter Param_Id = new OleDbParameter("@Id", OleDbType.Integer);//10

                    Param_Debut.Value = this.txtDateDebut.Text;//0
                    Param_CodeEleve.Value = this.txtCodeEnseignant.Text;//1
                    Param_CodeClas.Value = this.txtCodeClasse.Text;//2
                    Param_CodeMat.Value = this.txtCodeMatiere.Text;//3
                    Param_Coef.Value = this.txtCoefficient.Text;//4
                    Param_CodeAnnee.Value = this.txtCodeAnneeScolaire.Text;//5
                    Param_PP.Value = this.cbxPrincipal.Checked;//6
                    Param_Fin.Value = this.txtDateFin.Text;//7
                    Param_Obs.Value = this.txtRemarques.Text;//8
                    Param_NbHeure.Value = this.txtNbreHeure.Text;//9
                    Param_Id.Value = this.txtIdEnseigner.Text;//10

                    OleDbCommand Comd = new OleDbCommand("UPDATE [Enseigner] SET date_debut=@Debut, code_enseignant=@CodeEleve, code_classe=@CodeClass," + "\n" +
                    "code_matiere=@CodeMat, coefficient=@Coef, code_annee=@CodeAnnee, principal=@PP, date_fin=@Fin, remarques=@Obs, nbre_heure=@NbHeure" + "\n" +
                    "WHERE id_enseigner =@Id", Conex);

                    Comd.Parameters.Add(Param_Debut);//0
                    Comd.Parameters.Add(Param_CodeEleve);//1
                    Comd.Parameters.Add(Param_CodeClas);//2
                    Comd.Parameters.Add(Param_CodeMat);//3
                    Comd.Parameters.Add(Param_Coef);//4
                    Comd.Parameters.Add(Param_CodeAnnee);//5
                    Comd.Parameters.Add(Param_PP);//6
                    Comd.Parameters.Add(Param_Fin);//7
                    Comd.Parameters.Add(Param_Obs);//8
                    Comd.Parameters.Add(Param_NbHeure);//9
                    Comd.Parameters.Add(Param_Id);//10

                    //Execution de la commande
                    Comd.ExecuteNonQuery();
                    //Fermeture de la connexion
                    Comd.Connection.Close();

                    //Message de confirmation à l'utilisateur
                    MessageBox.Show("Les Données du Cours dispensé par" + "\n" +
                        this.txtCivilite.Text + "\n" + txtNomEnseignant.Text + " " + txtPrenomEnseignant.Text + "\n" +
                        "ont été mises à jour avec succès", "Modification", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    Montrer_btn(false);
                    nbTotalEnseignants();
                    //On initialise iMax
                    iMax = iTotal;
                    //On remet i a 1 pour remettre la navigation au debut et eviter de casser un tableau en cas de suppresion
                    i = 1;
                    //Une fois les valeurs de i et iMax definit on appel la fonction label
                    Label_Effectif();
                    Afficher();

                    this.btnNouveau.Text = "&Nouveau";
                    this.btnNouveau.BackColor = Color.Navy;
                    this.btnNouveau.Enabled = true;

                    this.btnAnnuler.Text = "&Chercher";
                    this.btnAnnuler.BackColor = Color.Navy;

                    this.btnModifier.Text = "&Modifier";
                    this.btnModifier.BackColor = Color.Navy;

                    this.btnModifier.Enabled = false;
                    this.btnSupprimer.Enabled = false;
                    this.btnModifier.Visible = false;
                    this.btnSupprimer.Visible = false;

                    this.btnPrecedent.Enabled = true;
                    this.btnSuivant.Enabled = true;
                    this.btnDernier.Enabled = true;
                    this.btnPremier.Enabled = true;
                    this.gbxRecherche.Text = "";
                    this.gbxRecherche.Visible = false;

                }
                catch (FileNotFoundException ex) //(Exception ex)
                {
                    //MessageBox.Show("Vous n'avez sélectionné aucun Enseignant", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_warzet

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.