// But : Permet d'ajouter un matière // Paramètres : Objet de connexion SQLite public static void AjouterMatiere(SQLiteConnection maConnexion) { // dernier id matiere long lastId = ChercherDernierIdMatiere(maConnexion) + 1; // Nom de la matière string nomMatiere = ""; do { Console.WriteLine("Entrer le nom de la matière que vous souhaitez ajouter : "); nomMatiere = Console.ReadLine(); } while (nomMatiere.Length < 1); // Code de la matière string code = ""; do { Console.WriteLine("Entrer le code de la matière correspondant :"); code = Console.ReadLine(); } while (code.Length < 1); // Création de l'objet Matière Matiere m = new Matiere((int)lastId, nomMatiere, code); // On appelle la fonction pour ajouter une matière en BD AjouterMatiereBD(maConnexion, m); }
// But : Permet d'ajouter une matière en BD // Paramètres : Objet de connexion SQLite, un objet Matiere public static void AjouterMatiereBD(SQLiteConnection maConnexion, Matiere m) { // On vérifie que la matière n'a pas déjà été ajoutée var cmd = new SQLiteCommand(maConnexion); cmd.CommandText = "SELECT * FROM matiere WHERE matiere_code = @codeM"; cmd.Parameters.AddWithValue("@codeM", m.CodeMatiere); cmd.Prepare(); SQLiteDataReader reader = cmd.ExecuteReader(); bool existe = false; while (reader.Read()) { existe = true; } reader.Close(); if (existe) { Console.WriteLine("Ajout impossible, la matières existe déjà"); } else // la matière n'existe pas { // Insertion de données dans la table matiere cmd.CommandText = "INSERT INTO matiere VALUES (@idM, @nomM, @codeM)"; cmd.Parameters.AddWithValue("@idM", m.IdMatiere); cmd.Parameters.AddWithValue("@nomM", m.NomMatiere); cmd.Parameters.AddWithValue("@codeM", m.CodeMatiere); cmd.Prepare(); if (cmd.ExecuteNonQuery() == 1) { Console.WriteLine("Insertion correctement effectuée"); } else { Console.WriteLine("Une erreur est survenue dans l'insertion"); } } }
// But : Permet de créer une liste des matières qu'un prof enseigne // Paramètres : Objet de connexion SQLite, un int prof_id // Retourne : Une liste contenant la liste des matières public static ArrayList CreerListeMatiere(int prof_id, SQLiteConnection maConnexion) { // Initialisation de la liste ArrayList listeMat = new ArrayList(); // Requete préparée pour recuperer tous les matiere_id qui sont associés au prof_id donné var cmd = new SQLiteCommand(maConnexion); cmd.CommandText = "SELECT * FROM enseignement WHERE prof_id = @prof_id"; cmd.Parameters.AddWithValue("@prof_id", prof_id); cmd.Prepare(); SQLiteDataReader reader = cmd.ExecuteReader(); // Tant qu'il y a une matiere_id à lire while (reader.Read()) { // On recup les donnees du livrable var cmdMat = new SQLiteCommand(maConnexion); cmdMat.CommandText = "SELECT * FROM matiere WHERE matiere_id = @matiere_id"; cmdMat.Parameters.AddWithValue("@matiere_id", (int)reader["matiere_id"]); cmdMat.Prepare(); SQLiteDataReader reader2 = cmdMat.ExecuteReader(); while (reader2.Read()) { // On cree l'objet Matière Matiere matiere = new Matiere((int)reader2["matiere_id"], (string)reader2["matiere_lib"], (string)reader2["matiere_code"]); // On ajoute l'objet a la liste listeMat.Add(matiere); } } return(listeMat); }