예제 #1
0
        private void txtMontant_KeyPress(object sender, KeyPressEventArgs e)
        {
            // Contrôle de la saisie du montant lors de la
            // pression d'une touche du clavier
            FrmAjoutTransaction.VerifSaisieMontant(e, txtMontant);

            if (e.KeyChar == (char)Keys.Enter && btnSearch.Enabled == true)
            {
                btnSearch_Click(null, null);
            }
        }
예제 #2
0
        // Clique sur "Modifier" sur le menu déroulant
        private void modifierToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                // On récupère l'index de la ligne sélectionnée
                int rowToModify = dgvTransac.Rows.GetFirstRow(DataGridViewElementStates.Selected);
                int idTransac   = (int)dgvTransac.Rows[rowToModify].Cells[0].Value;
                // Récupération des valeurs à modifier
                DataRow[] dtTransacSelect = ds.Tables["Transaction"].Select("codeTransaction = " + idTransac);
                string    dateTransac     = dtTransacSelect[0][1].ToString();
                DateTime  dt          = Convert.ToDateTime(dateTransac);
                string    description = dtTransacSelect[0][2].ToString();
                string    montant     = dtTransacSelect[0][3].ToString();
                bool      recette     = (bool)dtTransacSelect[0][4];
                bool      percu       = (bool)dtTransacSelect[0][5];
                int       type        = (int)dtTransacSelect[0][6];

                // Création et affichage du formulaire de modification
                FrmAjoutTransaction frmAT = new FrmAjoutTransaction(connec, dt, description, montant, recette, percu, type);
                frmAT.ShowDialog();

                // Si la modification est confirmée par l'utilisateur
                // On lance la modification de la transaction
                if (frmAT.confirmModif == DialogResult.Yes)
                {
                    // Ouverture de la connection
                    if (connec.State == ConnectionState.Closed)
                    {
                        connec.Open();
                    }

                    // Récupération des infos modifiées
                    dateTransac = frmAT.Date;
                    description = frmAT.Description;
                    montant     = frmAT.Montant;
                    recette     = frmAT.Recette;
                    percu       = frmAT.Percu;
                    type        = frmAT.Type;

                    // Construction de la requete SQL Update
                    string cmdUpdate = @"UPDATE [Transaction] "
                                       + "SET [dateTransaction] = ?, [description] = ?, [montant] = ?, [recetteON] = ?, [percuON] = ?, [type] = ?"
                                       + "WHERE [codeTransaction] = ?";

                    OleDbCommand cmd = new OleDbCommand(cmdUpdate, connec);

                    // Ajouts des paramètres
                    cmd.Parameters.AddWithValue("@dateTransaction", dateTransac);
                    //Si jamais la description n'est pas renseigne, on insert "NULL" dans la colonne description
                    cmd.Parameters.AddWithValue("@description", string.IsNullOrEmpty(description) ? (object)DBNull.Value : description);
                    cmd.Parameters.AddWithValue("@montant", montant);
                    cmd.Parameters.AddWithValue("@recetteON", recette);
                    cmd.Parameters.AddWithValue("@percuON", percu);
                    cmd.Parameters.AddWithValue("@type", type);
                    cmd.Parameters.AddWithValue("@codeTransaction", idTransac);

                    // Exécution de la commande UPDATE
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("Transaction modifiée avec succès !", "Succès", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    // Mise a jour de la table locale
                    dtTransacSelect[0][1] = dateTransac;
                    dtTransacSelect[0][2] = description;
                    dtTransacSelect[0][3] = montant;
                    dtTransacSelect[0][4] = recette;
                    dtTransacSelect[0][5] = percu;
                    dtTransacSelect[0][6] = type;

                    // Mise à jour du dgv pour affichage direct de la modification
                    dgvTransac.Rows[rowToModify].SetValues(idTransac, dateTransac, description, montant, recette, percu, type);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Fermeture de la connection
                if (connec.State == ConnectionState.Open)
                {
                    connec.Close();
                }
            }
        }