Quiz: Introduction à ADO.NET et gestion des transactions — 18 perguntas

Perguntas e respostas detalhadas

1. Quel est le rôle principal d’ADO.NET dans un projet .NET ?

Accéder et gérer des données provenant de sources relationnelles ou non relationnelles
Compiler du code SQL en instructions machine
Créer automatiquement des interfaces graphiques pour les données
Remplacer complètement les systèmes de gestion de base de données

Accéder et gérer des données provenant de sources relationnelles ou non relationnelles

Explicação

ADO.NET est un ensemble de composants du Framework .NET destiné à accéder et gérer des données, qu’elles proviennent de bases relationnelles ou d’autres sources. Il ne remplace pas un SGBD et ne sert pas à compiler du SQL.

2. Quelle différence décrit correctement le modèle connecté et le modèle déconnecté en ADO.NET ?

Le modèle connecté stocke toutes les données en mémoire, alors que le modèle déconnecté travaille toujours sans mémoire
Le modèle connecté interroge la base en direct, alors que le modèle déconnecté charge d’abord les données en mémoire
Les deux modèles fonctionnent exactement de la même manière, sans différence de synchronisation
Le modèle connecté sert uniquement aux fichiers plats, alors que le modèle déconnecté sert uniquement à XML

Le modèle connecté interroge la base en direct, alors que le modèle déconnecté charge d’abord les données en mémoire

Explicação

En modèle connecté, les requêtes sont traitées directement par la base pendant l’exécution. En modèle déconnecté, les données sont d’abord chargées en mémoire puis synchronisées plus tard.

3. À quoi sert un Data Provider dans ADO.NET ?

À fournir les composants adaptés pour se connecter à un type de base de données donné
À convertir automatiquement une base relationnelle en base orientée objet
À exécuter uniquement des requêtes de lecture
À remplacer la classe Connection dans tous les cas

À fournir les composants adaptés pour se connecter à un type de base de données donné

Explicação

Un Data Provider est le fournisseur de données qu’ADO.NET utilise pour se connecter à un type de base précis. Il adapte l’accès à des SGBD comme SQL Server ou Oracle.

4. Pourquoi les providers ADO.NET sont-ils facilement interchangeables entre différents SGBD ?

Parce qu’ils n’exposent aucune méthode spécifique
Parce qu’ils ne gèrent que les bases SQL Server
Parce qu’ils utilisent tous exactement les mêmes fichiers de configuration
Parce qu’ils dérivent d’une même classe et partagent des méthodes et propriétés similaires

Parce qu’ils dérivent d’une même classe et partagent des méthodes et propriétés similaires

Explicação

Les Data Providers dérivent d’une même classe de base, ce qui rend leur usage globalement comparable. C’est ce qui facilite le changement de provider sans tout réécrire.

5. Quel objet ADO.NET est utilisé pour exécuter une requête ou une opération sur le serveur de base de données ?

DataAdapter
Command
DataReader
Connection

Command

Explicação

Command stocke les informations d’une commande et permet son exécution sur le serveur. Connection sert à établir la liaison, tandis que DataReader sert à lire les résultats.

6. Quel est le rôle principal de DataAdapter dans ADO.NET ?

Ouvrir la connexion au serveur et la garder active en permanence
Définir le type d’une procédure stockée
Transférer des données entre la base et l’application en mode déconnecté
Lire uniquement une ligne à la fois sans mise en cache

Transférer des données entre la base et l’application en mode déconnecté

Explicação

DataAdapter est utilisé pour transférer des données entre la base et l’application, notamment en mode déconnecté. Il ne sert pas à lire en flux comme DataReader.

7. Quel package NuGet faut-il ajouter en .NET Core pour utiliser ADO.NET avec SQL Server ?

Microsoft.AspNetCore.Mvc
System.Data.SqlClient
Newtonsoft.Json
System.Xml.ReaderWriter

System.Data.SqlClient

Explicação

En .NET Core, le package cité pour accéder à SqlClient est System.Data.SqlClient. En .NET Framework, ADO.NET est déjà intégré de base.

8. Dans quel cas l’installation d’un package NuGet pour SqlClient est-elle généralement nécessaire ?

Lorsqu’on développe en .NET Framework
Seulement si l’on n’utilise pas SQL Server
Uniquement pour utiliser des fichiers XML
Lorsqu’on développe en .NET Core

Lorsqu’on développe en .NET Core

Explicação

Le cours indique qu’en .NET Core, il faut ajouter un package NuGet pour utiliser SqlClient. En .NET Framework, ADO.NET est déjà présent par défaut.

9. Quel argument SqlConnection attend-il pour se connecter à une base SQL Server ?

Une liste de paramètres SQL
Une chaîne de connexion
Un résultat de requête déjà exécutée
Un objet DataReader

Une chaîne de connexion

Explicação

SqlConnection attend une connection string qui précise la cible et les paramètres de connexion. Sans cette chaîne, la connexion ne peut pas être établie correctement.

10. Pourquoi utilise-t-on souvent SqlConnection dans un bloc using ?

Pour garantir la fermeture automatique de la connexion grâce à IDisposable
Pour remplacer la gestion des erreurs
Pour exécuter la requête sans appeler Open()
Pour stocker plusieurs lignes de résultats en mémoire

Pour garantir la fermeture automatique de la connexion grâce à IDisposable

Explicação

SqlConnection implémente IDisposable, donc un using permet une fermeture automatique de l’objet. La connexion doit tout de même être ouverte avant l’exécution d’une requête.

11. Où renseigne-t-on généralement la requête SQL à exécuter avec SqlCommand ?

Dans le constructeur ou dans la propriété CommandText
Dans la propriété State
Dans la méthode Open
Dans la collection Parameters uniquement

Dans le constructeur ou dans la propriété CommandText

Explicação

La requête SQL peut être fournie au constructeur de SqlCommand ou via CommandText. CommandText est précisément la propriété prévue pour le texte de la commande.

12. Que faut-il indiquer pour exécuter une procédure stockée avec SqlCommand ?

Le type DataReader et une lecture en boucle
Un DataAdapter et une table cible
Le nom de la procédure et un CommandType défini sur StoredProcedure
Une transaction ouverte et une propriété State particulière

Le nom de la procédure et un CommandType défini sur StoredProcedure

Explicação

Pour une procédure stockée, il faut renseigner CommandType à StoredProcedure et préciser le nom de la procédure. SqlCommand est l’objet adapté pour ce type d’exécution.

13. Quelle caractéristique décrit le mieux un SqlDataReader ?

Un outil conçu pour écrire directement dans la base
Un mécanisme de transaction côté serveur
Un accès en lecture seule et en avant seulement aux données
Une copie complète du résultat dans un DataTable

Un accès en lecture seule et en avant seulement aux données

Explicação

SqlDataReader fournit un flux en lecture seule et forward only, ligne par ligne. Il n’est pas destiné à l’écriture ni au stockage complet du résultat en mémoire.

14. Quelle méthode permet d’obtenir un DataReader après l’exécution d’une commande ?

BeginTransaction
Commit
ExecuteReader
ExecuteNonQuery

ExecuteReader

Explicação

ExecuteReader exécute une commande et renvoie un DataReader pour parcourir les résultats. ExecuteNonQuery est plutôt utilisé pour les opérations qui ne renvoient pas de lignes.

15. Comment appelle-t-on correctement une procédure stockée avec SqlCommand ?

En utilisant uniquement ExecuteNonQuery sans nom de procédure
En utilisant CommandType.StoredProcedure et la collection Parameters
En ouvrant une transaction avant de définir la commande
En passant toutes les valeurs dans DataReader

En utilisant CommandType.StoredProcedure et la collection Parameters

Explicação

Une procédure stockée est appelée avec SqlCommand en indiquant CommandType.StoredProcedure et en fournissant les paramètres via Parameters. C’est ce qui permet de passer des valeurs d’entrée, de sortie ou un code retour.

16. Que représente un SqlParameter dans une commande ADO.NET ?

Une connexion ouverte au serveur
Un résultat de lecture en mémoire
Une validation de transaction
Un paramètre nommé avec valeur, type et taille

Un paramètre nommé avec valeur, type et taille

Explicação

SqlParameter sert à définir un paramètre nommé avec sa valeur, son type et sa taille. Il s’emploie aussi bien avec une procédure stockée qu’avec une requête paramétrée.

17. Quel est le rôle de Commit dans une transaction SqlTransaction ?

Valider l’ensemble des opérations réalisées pendant la transaction
Annuler toutes les opérations réalisées depuis le début
Ouvrir la connexion à la base
Créer automatiquement les paramètres de la commande

Valider l’ensemble des opérations réalisées pendant la transaction

Explicação

Commit confirme définitivement les opérations effectuées dans la transaction. Rollback est l’action qui annule les opérations en cas de problème.

18. Que faut-il faire pour associer une transaction à plusieurs commandes SqlCommand ?

Passer la transaction comme valeur de CommandText
Utiliser SqlDataReader à la place des commandes
Appeler uniquement ExecuteReader sur la connexion
Affecter l’objet transaction à la propriété Transaction de chaque commande

Affecter l’objet transaction à la propriété Transaction de chaque commande

Explicação

Le cours précise qu’on associe la transaction aux commandes via la propriété Transaction de chaque SqlCommand. Cela permet de valider ou d’annuler l’ensemble des opérations sous un même contrôle.

Revisar com flashcards

Memorize as respostas com 18 flashcards sobre Introduction à ADO.NET et gestion des transactions.

ADO.NET — définition ?

Ensemble de composants pour accéder aux données.

Modèle connecté — rôle ?

Envoie directement les requêtes à la base.

Modèle déconnecté — rôle ?

Charge les données en mémoire puis synchronise.

Veja os flashcards →

Estude a ficha de revisão

Leia a ficha de revisão completa sobre Introduction à ADO.NET et gestion des transactions.

Veja a ficha de revisão →

Similar courses

Crie seus próprios quizzes

Importe seu curso e a IA gera quizzes com correções em 30 segundos.

Gerador de quizzes