/// <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); }
/// <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; }
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(); }
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(); }