Génération de ResultSets typés
Mise à jour : novembre 2007
Lorsque la propriété CustomTool sur un fichier de schéma XSD a la valeur MSResultSetGenerator, les objets de source de données ResultSet typés sont générés au lieu des objets de source de données DataSet typés habituels. Les objets ResultSet sont des curseurs de base de données rapides qui prennent en charge la liaison de données d'interface utilisateur, le défilement vers l'avant et l'arrière dans les données et la mise à jour de données dans la base de données. En tant que modèles à connexion permanente, les objets ResultSet gardent une connexion active à la base de données.
Fonctionnalités des objets ResultSet typés
Les objets ResultSet typés générés fournissent un accès de type sécurisé à la table de base de données, de façon très similaire aux DataSets typés. Ainsi, le code généré garantit que les données qui sont passées entre l'application et la base de données correspondent correctement au schéma de base de données au moment de la compilation. Un code généré par un objet ResultSet typé étend la classe de base ResultSet de SQL Server Compact 3.5 pour fournir les propriétés et les méthodes spécifiques à la table de base de données ciblée.
Les paragraphes suivants résument les fonctionnalités du code généré pour un objet ResultSet typé.
Constructeurs L'objet ResultSet typé généré contient deux constructeurs. Le constructeur par défaut est utilisé à la fois pour les scénarios au moment du design et pour les scénarios d'exécution de base. Au moment du design, Visual Studio requiert que le constructeur par défaut se connecte à la base de données installée sur l'ordinateur de développement local. Par conséquent, le code généré contient une chaîne de connexion au fichier de base de données SQL Server Compact 3.5 local. Le constructeur par défaut bascule au moment de l'exécution vers le fichier de base de données SQL Server Compact 3.5 local se trouvant dans le même répertoire que l'application en cours d'exécution. Il s'agit d'un scénario d'exécution de base.
Chaînes de connexion Lorsque le scénario d'exécution est complexe, par exemple lorsque le fichier de base de données SQL Server Compact 3.5 ne se trouve pas dans le répertoire d'exécution, ou que la chaîne de connexion est modifiée de toute autre façon, par exemple à la suite d'un changement de mot de passe, le constructeur surchargé peut être utilisé. Le constructeur surchargé accepte deux arguments : une chaîne de connexion personnalisée et un indicateur ResultSetOptions personnalisé.
Propriété de connexion La propriété de connexion est l'objet SqlCeConnection actif utilisé par l'objet ResultSet typé pour accéder aux données de la base de données. La propriété de connexion est publique et donne l'accès requis pour gérer l'état de la connexion pour l'objet ResultSet typé. Par exemple, certaines transactions peuvent nécessiter la fermeture de la connexion.
Accès de type sécurisé aux colonnes d'une table Le code généré crée un accesseur de propriété pour chaque colonne présente dans la table de données. Le type de propriété est déterminé en mappant le type de base de données sous-jacent à un type .NET Framework. Par exemple, nvarchar est mappé à une chaîne .NET Framework. La propriété générée prenant en charge à la fois les accesseurs Get et Set, vous pouvez extraire et diffuser des données au moyen de chaînes .NET Framework au lieu du nvarchar de la base de données sous-jacente. Chaque colonne dispose également de méthodes IsxxxDBNull et SetxxxDBNull, où xxx est le nom de la colonne, afin de pouvoir définir et extraire DBNull dans la base de données.
Méthode AddxxxRecord (où xxx est le nom de table) Cette méthode permet l'ajout de nouvelles lignes à la table de base de données. La méthode AddxxxRecord dispose d'un paramètre pour chaque colonne de la table de données, à l'exception des colonnes incrémentées automatiquement qui voient, quant à elles, leurs valeurs assignées par le moteur de base de données. Chaque paramètre est à nouveau déclaré en tant que type .NET Framework, ce qui permet l'utilisation de l'application et élimine par abstraction le type de base de données sous-jacent. Une fois cette méthode appelée, aucun appel à une mise à jour n'est requis. Après l'appel de la méthode, la nouvelle ligne est validée dans la base de données.
Méthode DeletexxxRecord (où xxx est le nom de table) Cette méthode supprime la ligne actuelle de la base de données. Contrairement aux groupes de données, cette transition n'est pas mise en cache ; une fois la méthode appelée, la ligne est supprimée de la base de données. Vous n'avez pas à appeler la mise à jour après avoir appelé cette méthode.
Méthode Bind La méthode Bind accepte un seul paramètre, BindingSource, lié par les données à un ou plusieurs contrôles d'interface utilisateur sur le formulaire. Cette méthode lie alors BindingSource à l'instance de l'objet ResultSet typé, achevant la chaîne de liaison de données et permettant aux contrôles d'afficher directement les données dans la base de données.
Remarque :
Le scénario au moment du design requiert une chaîne de connexion codée en dur à la base de données SQL Server Compact 3.5. Cette chaîne de connexion peut devenir obsolète lorsque, par exemple, un projet est partagé par plusieurs développeurs. En conséquence, la fenêtre DataSource ou le Concepteur Windows Forms, ou même les deux, peuvent ne pas pouvoir ouvrir le projet. Vous pouvez régénérer le code ResultSet typé pour corriger cette situation. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier de schéma XSD, puis cliquez sur Exécuter un outil personnalisé.
Voir aussi
Concepts
Jeux de résultats et groupes de données (Smart Devices)
Autres ressources
Utilisation des données dans les projets Smart Device managés