Bonjour à tous,
J'ai développé, dans le cadre de mon examen, une application permettant la gestion de réservations de séance de cinéma.
Si le thème importe peu, l'obligation ici et que l'application doit être programmée en objet.
Ma question porte sur la méthode, car pour le moment, l'application fonctionne parfaitement mais je ne suis pas sûr d'avoir correctement utilisé l'objet, je m'explique :
Actuellement, mon application utilise trois classes métiers (client, film, projection) et une classe technique (Connexion) qui me permet donc d'exécuter diverse requête sur ma base de données.
Par exemple, pour remplir mon objet FILM, je procède ainsi :
Appel depuis le programme principal :
Constructeur de la classe FILM :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 strRequete = "SELECT titreFilm FROM FILM WHERE idFilm=" & X objFilm = New Film(strRequete) FilmsListBox.Items.Add(objFilm.GetTitreFilm())
Constructeur de la classe CONNEXION :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Public Sub New(ByVal UneRequete As String) Dim objConnexionBDD As Connexion objConnexionBDD = New Connexion(UneRequete) strTitreFilm = objConnexionBDD.ExecuteSelect("titreFilm") strDescriptionFilm = objConnexionBDD.ExecuteSelect("DescriptionFilm") . . . End Sub
Fonction ExecuteSelect de la classe Connexion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Public Sub New(ByVal UneRequete As String) objConnexion = New SqlConnection(My.Settings.ChaineConnexion) objCommande = New SqlCommand(UneRequete, objConnexion) End Sub
Ma question est : Est-ce la bonne manière d'utiliser l'objet FILM ? La requête principale ne doit-elle pas se trouver plutôt dans le constructeur et non pas dans le programme principal ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Function ExecuteSelect(ByVal Propriete As String) As String Dim ValeurRetour As String = "" objLecteur = objCommande.ExecuteReader() objLecteur.Read() ValeurRetour = CStr(objLecteur(Propriete)) objLecteur.Close() objConnexion.Close() Return ValeurRetour End Function
je pensais avoir bien programmé le tout mais on m'a affirmé le contraire c'est pourquoi je me tourne vers vous avant de tout chambouler.
Merci à vous !
Partager