Nous allons maintenant passer à l’implémentation de la fonction permettant de récupérer un film sur base de son « Id ». Ouvrez donc votre classe « DbFilm » et ajoutez les directives suivantes : using System.Data; using MySql.Data.MySqlClient; Implémentez ensuite
Implémenter les fonctions du BCS
Implémentez ensuite la fonction suivante :
public static Film GetFilmById(int id)
{
Film film = null;
using (DataSet dataSet = new DataSet())
{
using (MySqlConnection connection = new MySqlConnection(Helper.cString))
{
connection.Open();
string request = @ »SELECT titre, synopsis, films.image as film_image, nom, prenom
FROM films
INNER JOIN personnes
ON personnes.id_personne = films.realisateur
WHERE id_film = » + id;
using (MySqlDataAdapter adapter = new MySqlDataAdapter(request, connection))
{
adapter.Fill(dataSet, « Film »);
if (dataSet.Tables[« Film »].Rows.Count == 0)
throw new Exception(« Aucun film »);
DataRow row = dataSet.Tables[« Film »].Rows[0];
film = new Film
{
Id = id,
Image = row[« film_image »].ToString(),
Synopsis = row[« synopsis »].ToString(),
Titre = row[« titre »].ToString(),
Realisateur = row[« nom »] + » » + row[« prenom »]
};
}
}
}
return film;
}
Cette fonction va utiliser le « connector MySql » pour récupérer des données dans notre base de données. Nous utiliserons donc plusieurs blocs « using » pour être sûr que tous les objets nécessaires à l’exploitation de la base de données sont bien nettoyés. Vous pouvez remarquer que le « connector » s’utilise de la même manière que les objets « SQL » de base en .NET. Nous créons donc une connexion (sur base de la « connection string » de la classe « Helper »), nous exécutons la requête et nous créons un objet de type « Film » sur base des résultats récupérés dans la base de données.
Revenez maintenant sur votre « BCS », faites un clic droit sur la méthode « ReadItem » et sélectionnez « View Code ». Tapez le code suivant dans la fonction :
return DbFilm.GetFilmById(id_film);
La variable « id_film » correspond à l’id du film que nous voulons récupérer. Nous utilisons donc la fonction que nous venons de créer en lui faisant passer cet id pour récupérer le film désiré.
Nous allons maintenant créer une méthode de type « ReadList » qui va permettre de récupérer tous les éléments de la table. Ajoutez donc une méthode de la même façon que précédemment, mais cette fois, sélectionnez « Create a finder method ». Cela aura pour effet de vous créer une méthode nommée « ReadList ». Modifiez la propriété « Name » de cette méthode sur « AllFilms » et la propriété « Default complete name » sur « Tous les films ».
Ouvrez ensuite votre classe « DbFilm » et insérez la fonction suivante :
public static List GetAllFilms()
{
List films = null;
using (DataSet dataSet = new DataSet())
{
using (MySqlConnection connection = new MySqlConnection(Helper.cString))
{
connection.Open();
string request = @ »SELECT id_film, titre, synopsis, films.image as film_image, nom, prenom
FROM films
INNER JOIN personnes
ON personnes.id_personne = films.realisateur »;
using (MySqlDataAdapter adapter = new MySqlDataAdapter(request, connection))
{
adapter.Fill(dataSet, « Films »);
if (dataSet.Tables[« Films »].Rows.Count == 0)
throw new Exception(« Aucun film »);
films = new List(dataSet.Tables[« Films »].Rows.Count);
foreach (DataRow row in dataSet.Tables[« Films »].Rows)
{
films.Add(new Film
{
Id = int.Parse(row[« id_film »].ToString()),
Image = row[« film_image »].ToString(),
Synopsis = row[« synopsis »].ToString(),
Titre = row[« titre »].ToString(),
Realisateur = row[« nom »] + » » + row[« prenom »]
});
}
}
}
}
return films;
}
Ouvrez ensuite à nouveau votre « BCS », faites un clic droit sur la méthode « AllFilms », cliquez sur « View Code » et insérez le code suivant :
return DbFilm.GetAllFilms();
Pour récupérer tous les films.
Téléchargez cette ressource
Guide de Threat Intelligence contextuelle
Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique
Les articles les plus consultés
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Activer la mise en veille prolongée dans Windows 10
Les plus consultés sur iTPro.fr
- Top 5 du Baromètre de la cybersécurité 2025 : entre confiance et vulnérabilités persistantes
- Analyse Patch Tuesday Février 2026
- Entamer la transition vers la cryptographie post quantique est prioritaire
- Full Cloud : une transformation numérique inévitable pour les entreprises ?
Articles les + lus
Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
Alliée ou menace ? Comment l’IA redessine le paysage cyber
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
À la une de la chaîne Tech
- Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
- Alliée ou menace ? Comment l’IA redessine le paysage cyber
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
