Requête paramétrée de mise à jour

Résolu
cs_warzet Messages postés 99 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juillet 2013 - 31 déc. 2012 à 08:09
cs_warzet Messages postés 99 Date d'inscription jeudi 17 janvier 2008 Statut Membre 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

1 réponse

cs_warzet Messages postés 99 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juillet 2013 1
4 janv. 2013 à 10:26
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);
                }
}
3
Rejoignez-nous