예제 #1
0
        /// <summary>
        /// Valorise un objet contact depuis le système de gestion de bases de données
        /// </summary>
        /// <param name="idContact">La valeur de la clé primaire</param>
        public static Contact Fetch(int idContact)
        {
            Contact c = null;

            DataBaseAccess.Connexion.Open();
            MySqlCommand commandSql = DataBaseAccess.Connexion.CreateCommand();     //Initialisation d'un objet permettant d'interroger la bd

            commandSql.CommandText = _selectByIdSql;                                //Définit la requete à utiliser
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?id", idContact));  //Transmet un paramètre à utiliser lors de l'envoie de la requête
            commandSql.Prepare();                                                   //Prépare la requête (modification du paramètre de la requête)
            MySqlDataReader jeuEnregistrements  = commandSql.ExecuteReader();       //Exécution de la requête
            bool            existEnregistrement = jeuEnregistrements.Read();        //Lecture du premier enregistrement

            if (existEnregistrement)                                                //Si l'enregistrement existe
            {                                                                       //alors
                c           = new Contact();                                        //Initialisation de la variable Contact
                c.id        = Convert.ToInt16(jeuEnregistrements["id"].ToString()); //Lecture d'un champ de l'enregistrement
                c.Nom       = jeuEnregistrements["Nom"].ToString();
                c.Prenom    = jeuEnregistrements["Prenom"].ToString();
                c.Telephone = jeuEnregistrements["Telephone"].ToString();
                c.Email     = jeuEnregistrements["Email"].ToString();
                string numService = jeuEnregistrements["Service"].ToString();
                c.Service = Service.Fetch(numService);
            }
            DataBaseAccess.Connexion.Close();//fermeture de la connexion
            return(c);
        }
예제 #2
0
        /// <summary>
        /// Supprime le contact représenté par l'instance courante dans le SGBD
        /// </summary>
        public void Delete()
        {
            DataBaseAccess.Connexion.Open();
            MySqlCommand commandSql = DataBaseAccess.Connexion.CreateCommand();

            commandSql.CommandText = _deleteByIdSql;
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?id", id));
            commandSql.Prepare();
            commandSql.ExecuteNonQuery();
            id = -1;
        }
예제 #3
0
        private void Update()
        {
            DataBaseAccess.Connexion.Open();
            MySqlCommand commandSql = DataBaseAccess.Connexion.CreateCommand();

            commandSql.CommandText = _updateSql;
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?id", Id));
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?prenom", Prenom));
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?nom", Nom));
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?email", Email));
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?telephone", Telephone));
            commandSql.Prepare();
            commandSql.ExecuteNonQuery();
            DataBaseAccess.Connexion.Close();
        }
예제 #4
0
        private void Insert()
        {
            DataBaseAccess.Connexion.Open();
            MySqlCommand commandSql = DataBaseAccess.Connexion.CreateCommand();

            commandSql.CommandText = _insertSql;

            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?prenom", Prenom));
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?nom", Nom));
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?telephone", Telephone));
            commandSql.Parameters.Add(DataBaseAccess.CodeParam("?email", Email));
            commandSql.Prepare();
            commandSql.ExecuteNonQuery();

            MySqlCommand commandGetLastId = DataBaseAccess.Connexion.CreateCommand();

            commandGetLastId.CommandText = _getLastInsertId;
            commandGetLastId.Parameters.Add(DataBaseAccess.CodeParam("?prenom", Prenom));
            commandGetLastId.Parameters.Add(DataBaseAccess.CodeParam("?nom", Nom));
            commandGetLastId.Parameters.Add(DataBaseAccess.CodeParam("?telephone", Telephone));
            commandGetLastId.Parameters.Add(DataBaseAccess.CodeParam("?email", Email));
            commandGetLastId.Prepare();
            MySqlDataReader jeuEnregistrements  = commandGetLastId.ExecuteReader();
            bool            existEnregistrement = jeuEnregistrements.Read();

            if (existEnregistrement)
            {
                id = Convert.ToInt16(jeuEnregistrements["id"].ToString());
            }
            else
            {
                commandSql.Transaction.Rollback();
                throw new Exception("Duplicate entry");
            }
            DataBaseAccess.Connexion.Close();
        }