Exercices ADO.NET

Exercice 2 ADO.NET Corrigé S1

Lecture de données d'une table

Objectif : Lire les données d'une table de la base de données.

Instructions :

  • Utilisez la base de données SQL Server et connectez-vous à une table existante (par exemple Employees).
  • Lisez et affichez tous les enregistrements de la table (par exemple ID, Name, et Position).
  • Affichez les résultats dans la console.

Consigne : Utilisez la classe SqlCommand pour exécuter une requête SQL SELECT et la classe SqlDataReader pour lire les données.

Étape 1 : Créez une application console

Ouvrez Visual Studio et créez un projet Console Application.

Étape 2 : Ajouter les namespaces nécessaires

Ajoutez la directive using pour inclure les bibliothèques ADO.NET nécessaires.

using System;
using System.Data.SqlClient;

Étape 3 : Écrire le code pour lire les données

Exemple de chaîne de connexion :

// Chaîne de connexion typique pour SQL Server local
string connectionString = "Data Source=localhost;Initial Catalog=NomDeVotreBaseDeDonnées;Integrated Security=True";

Code complet pour lire les données :

using System;
using System.Data.SqlClient;

class Program
{
    static void Main(string[] args)
    {
        // Chaîne de connexion à la base de données
        string connectionString = "Data Source=localhost;Initial Catalog=NomDeVotreBaseDeDonnées;Integrated Security=True";
        
        // Requête SQL pour sélectionner les données de la table Employees
        string query = "SELECT ID, Name, Position FROM Employees";

        // Utilisation de SqlConnection et SqlCommand pour lire les données
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand(query, connection);
            
            try
            {
                // Ouverture de la connexion
                connection.Open();
                
                // Exécution de la requête et obtention des résultats
                SqlDataReader reader = command.ExecuteReader();

                // Vérification si des enregistrements ont été retournés
                if (reader.HasRows)
                {
                    Console.WriteLine("ID\tName\tPosition");
                    Console.WriteLine("---------------------------");

                    // Lecture des enregistrements
                    while (reader.Read())
                    {
                        int id = reader.GetInt32(0);       // ID (première colonne)
                        string name = reader.GetString(1); // Name (deuxième colonne)
                        string position = reader.GetString(2); // Position (troisième colonne)

                        // Affichage des résultats
                        Console.WriteLine($"{id}\t{name}\t{position}");
                    }
                }
                else
                {
                    Console.WriteLine("Aucun enregistrement trouvé.");
                }

                // Fermeture du reader
                reader.Close();
            }
            catch (SqlException ex)
            {
                // Gestion des erreurs de connexion ou de requête
                Console.WriteLine("Erreur lors de la lecture des données : " + ex.Message);
            }
            finally
            {
                // Fermeture de la connexion si elle est ouverte
                if (connection.State == System.Data.ConnectionState.Open)
                {
                    connection.Close();
                    Console.WriteLine("Connexion fermée.");
                }
            }
        }

        // Pause pour visualiser la sortie dans la console
        Console.WriteLine("Appuyez sur une touche pour quitter...");
        Console.ReadKey();
    }
}

Explications :

  1. connectionString : La chaîne de connexion utilisée pour se connecter à votre base de données SQL Server. Remplacez NomDeVotreBaseDeDonnées par le nom de votre base de données.

  2. query : La requête SQL qui sélectionne les colonnes ID, Name, et Position de la table Employees.

  3. SqlCommand : La classe SqlCommand est utilisée pour exécuter la requête SQL.

  4. SqlDataReader : La classe SqlDataReader est utilisée pour lire les données retournées par la requête SQL. Vous pouvez accéder aux données des colonnes en utilisant des méthodes telles que GetInt32 et GetString.

  5. Gestion des exceptions avec try-catch : Le bloc try-catch gère les erreurs qui peuvent survenir lors de l'exécution de la requête ou de la connexion.

  6. reader.Close() : Ferme le SqlDataReader après la lecture des données.

  7. connection.Close() : Ferme la connexion à la base de données après la lecture des données.

Testez votre programme

Lorsque vous exécutez ce programme, voici ce qui peut se produire :

  • Les enregistrements de la table Employees seront affichés dans la console si la connexion et la requête sont réussies.
  • Si aucune donnée n'est trouvée, le message "Aucun enregistrement trouvé." sera affiché.
  • Si une erreur survient, un message d'erreur sera affiché.

Remarque :

  • Assurez-vous que la table Employees existe dans votre base de données et que les colonnes ID, Name, et Position sont correctement définies.
  • Vous pouvez adapter la requête SQL et les méthodes de lecture en fonction de la structure réelle de votre table.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.