/// <summary> /// Ajoute une famille dans la base de données. /// </summary> /// <param name="Famille"> le nom de la famille à ajouter</param> /// <returns>L'identifiant de la famille ajoutée</returns> public int Inserer_Famille(string Famille) { SQLiteDataReader Lecture; int Id_Max_Famille = 0; // On récupère, si elle existe, la famille dont le nom a été envoyé en paramètre. SQLiteCommand Verif_Famille = new SQLiteCommand("SELECT * FROM Familles WHERE Nom LIKE @Nom", Connection); Verif_Famille.Parameters.AddWithValue("@Nom", Famille); if (Verif_Famille.ExecuteScalar() == null) { // On récupère l'identifiant suivant de la table. SQLiteCommand Recuperer_Id_Max = new SQLiteCommand("SELECT * FROM Familles ORDER BY RefFamille DESC;", Connection); Lecture = Recuperer_Id_Max.ExecuteReader(); Lecture.Read(); if (Lecture.HasRows) { Id_Max_Famille = Lecture.GetInt32(0) + 1; } Lecture.Close(); SQLiteCommand Inserer_Famille = new SQLiteCommand("INSERT INTO Familles (RefFamille, Nom) VALUES (@IdParam , @nomParam);", Connection); Inserer_Famille.Parameters.AddWithValue("@nomParam", Famille); Inserer_Famille.Parameters.AddWithValue("@IdParam", Id_Max_Famille); Inserer_Famille.ExecuteNonQuery(); } return(Id_Max_Famille); }
/// <summary> /// Ajoute une sous-famille dans la base de données. /// </summary> /// <param name="Sous_Famille">le nom de la sous-famille</param> /// <param name="Id_Famille"> la référence de la famille associée</param> /// <returns>L'identifiant de la sous-famille ajoutée</returns> public int Inserer_Sous_Famille(string Sous_Famille, int Id_Famille) { SQLiteDataReader Lecture; int Id_Max_Sous_Famille; SQLiteCommand Verif_Sous_Famille = new SQLiteCommand("SELECT * FROM SousFamilles WHERE Nom LIKE @nomParam", Connection); Verif_Sous_Famille.Parameters.AddWithValue("@nomParam", Sous_Famille); if (Verif_Sous_Famille.ExecuteScalar() == null) { // On récupère l'identifiant suivant de la table. SQLiteCommand Recuperer_IdMax = new SQLiteCommand("SELECT * FROM SousFamilles ORDER BY RefSousFamille DESC;", Connection); Lecture = Recuperer_IdMax.ExecuteReader(); Lecture.Read(); if (!Lecture.HasRows) { Id_Max_Sous_Famille = 0; } else { Id_Max_Sous_Famille = Lecture.GetInt32(0); } Lecture.Close(); SQLiteCommand Inserer_Sous_Famille = new SQLiteCommand("INSERT INTO SousFamilles (RefSousFamille, RefFamille, Nom) VALUES (@IdParam , @familleParam, @nomParam);", Connection); Inserer_Sous_Famille.Parameters.AddWithValue("@nomParam", Sous_Famille); Inserer_Sous_Famille.Parameters.AddWithValue("@familleParam", Id_Famille); Inserer_Sous_Famille.Parameters.AddWithValue("@IdParam", Id_Max_Sous_Famille + 1); Inserer_Sous_Famille.ExecuteNonQuery(); } Lecture = Verif_Sous_Famille.ExecuteReader(); Lecture.Read(); int Id_Sous_Famille; Id_Sous_Famille = Lecture.GetInt32(0); return(Id_Sous_Famille); }