public static List <Personne> GetByPays(string pays) { List <Personne> liste = null; //string connStr = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; //using (SqlConnection conn = new SqlConnection(connStr)) using (SqlConnection conn = new SqlConnection(connectionString: @"Data Source=VIEWW7-2013-408\SQLEXPRESS;Initial Catalog=tp_gestionContact;Integrated Security=True;Connect Timeout=5")) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"SELECT P.id, nom, prenom,age, PR.titre, nomEntreprise, CP.titre, telephone, fax, email, rue, code_postal,ville,pays FROM personne P JOIN profession PR ON PR.id_personne = P.id JOIN categoriePersonne CP ON CP.id_personne = P.id JOIN coordonnees C ON P.id = C.id_personne JOIN adresse A ON A.id_personne = P.id WHERE A.pays = @Pays"; cmd.Parameters.Add(new SqlParameter("@Pays", pays)); // cmd.Parameters.AddWithValue("@Pays", pays); using (SqlDataReader reader = cmd.ExecuteReader()) { liste = new List <Personne>(); while (reader.Read()) { Personne p = new Personne(); p.Id = reader.GetInt32(0); p.Nom = reader.GetString(1); p.Prenom = reader.GetString(2); p.Age = reader.GetInt32(3); p.Profession = new Profession(p.Id, reader.GetString(4), reader.GetString(5), p.Id); p.Categorie = new CategoriePersonne(p.Id, reader.GetString(6), p.Id); p.Coord = new Coordonnees(p.Id, reader.GetString(7), reader.GetString(8), reader.GetString(9), p.Id); p.Adresse = new Adresse(p.Id, reader.GetString(10), reader.GetString(11), reader.GetString(12), reader.GetString(13), p.Id); liste.Add(p); } } } } Console.WriteLine("taille GetByPays: " + liste.Count); return(liste); }
public void Save(Personne personne) { Session.SaveOrUpdate(personne); Session.Flush(); }
/// <summary> /// Permet de récupérer une personne de la DB via son identifiant /// </summary> /// <param name="identifiant">l'identifiant de la personne (registre national)</param> /// <param name="p">La personne a remplir</param> /// <returns>Une instance de personne completée par les infos de la DB</returns> public static Personne getInfo(string identifiant, Personne p = null) { //1 - Créér mon objet connection // SqlConnection oConn = new SqlConnection(@"Server=MIKE-PC\TFTIC;Database=MedicoDB;User Id=MedicoUser;Password=medicopass;"); //ou SqlConnection oConn = new SqlConnection(DAL.Properties.Settings.Default.ConnectionString); //2 - Connectez-vous try { oConn.Open(); //3- Construction de ma requête string query = @"select * from Personne where numRegNational='" + identifiant + "'"; //4- Création de notre SqlDataReader SqlDataReader oDr; //5- Creation la command SqlCommand oCmd = new SqlCommand(query, oConn); //6- Exécution de la command oDr = oCmd.ExecuteReader(); //7- Parcourir les données renvoyées //7.1 - Y'a-t-il des données ?? if (oDr.HasRows) //retourne true si min 1 ligne dans notre reader { //7.2- Boucle de parcours while (oDr.Read()) //tant que je sais lire des données { //7.2.1- Construction de l'objet personne p = p ?? new Personne(); p.NumRegNational = oDr["numRegNational"].ToString(); // ou p.NumRegNational = oDr.GetString(0); // ou p.NumRegNational= oDr[0].ToString(); p.Nom = oDr["nom"].ToString(); p.Prenom = oDr["prenom"].ToString(); p.DateNaissance = DateTime.Parse(oDr["dateNaissance"].ToString()); p.Sexe = oDr["sexe"].ToString()[0]; p.Adresse = oDr["adresse"].ToString(); if (oDr["codePostal"].ToString() != "") { p.CodePostal = int.Parse(oDr["codePostal"].ToString()); } p.Ville = oDr["ville"].ToString(); p.AdresseMail = oDr["adresseMail"].ToString(); p.Pays = oDr["pays"].ToString(); p.TelFixe = oDr["telFixe"].ToString(); p.TelMobile = oDr["telMobile"].ToString(); //7.3 - Fermer le datareader oDr.Close(); //8- renvoi de la personne return(p); } } else { //7.3 Pas de données donc fermeture // du datareader et renvoit de null oDr.Close(); return(null); } } catch (Exception) { return(null); } return(null); }