Partager via


Procédure : appeler une procédure stockée à l’aide de LINQ (Visual Basic)

Language-Integrated Requête (LINQ) facilite l’accès aux informations de base de données, notamment les objets de base de données tels que les procédures stockées.

L’exemple suivant montre comment créer une application qui appelle une procédure stockée dans une base de données SQL Server. L’exemple montre comment appeler deux procédures stockées différentes dans la base de données. Chaque procédure retourne les résultats d’une requête. Une procédure prend des paramètres d’entrée, et l’autre procédure ne prend pas de paramètres.

Les exemples présentés dans cet article utilisent la base de données d'échantillons Northwind. Pour obtenir la base de données, consultez Téléchargement d’exemples de bases de données.

Remarque

Votre ordinateur peut afficher différents noms ou emplacements pour certains des éléments de l’interface utilisateur Visual Studio dans les instructions suivantes. L’édition Visual Studio que vous avez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d’informations, consultez Personnaliser l’IDE.

Pour créer une connexion à une base de données

  1. Dans Visual Studio, ouvrez Explorateur de serveurs/Explorateur de bases de données en cliquant sur Explorateur de serveurs/Explorateur de bases de données dans le menu Affichage .

  2. Cliquez avec le bouton droit sur connexions de données dans Explorateur de serveurs/Explorateur de bases de données, puis cliquez sur Ajouter une connexion.

  3. Indiquez une connexion valide à l'exemple de base de données Northwind.

Pour ajouter un projet qui contient un fichier LINQ to SQL

  1. Dans Visual Studio, dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet. Sélectionnez Visual Basic application Windows Forms comme type de projet.

  2. Dans le menu du projet , cliquez sur Ajouter un nouvel élément. Sélectionnez le modèle d'élément Classes LINQ to SQL.

  3. Nommez le fichier northwind.dbml. Cliquez sur Ajouter. Le Concepteur relationnel objet (Concepteur O/R) est ouvert pour le fichier northwind.dbml.

Pour ajouter des procédures stockées au Concepteur O/R

  1. Dans Explorateur de serveurs/Explorateur de bases de données, développez la connexion à la base de données Northwind. Développez le dossier Procédures stockées .

    Si vous avez fermé le Concepteur O/R, vous pouvez le rouvrir en double-cliquant sur le fichier northwind.dbml que vous avez ajouté précédemment.

  2. Cliquez sur la procédure stockée Ventes par année et faites-la glisser vers le volet droit du concepteur. Cliquez sur la procédure stockée Dix produits les plus chers et faites-la glisser vers le volet droit du concepteur.

  3. Enregistrez vos modifications et fermez l'éditeur.

  4. Enregistrez votre projet.

Pour ajouter du code pour afficher les résultats des procédures stockées

  1. À partir de la boîte à outils , faites glisser un contrôle DataGridView sur le Windows Form par défaut pour votre projet, Form1.

  2. Double-cliquez sur Form1 pour ajouter du code à son événement Load.

  3. Lorsque vous avez ajouté des procédures stockées au Concepteur O/R, le concepteur a ajouté un objet DataContext pour votre projet. Cet objet contient le code que vous devez avoir pour accéder à ces procédures. L’objet DataContext du projet est nommé en fonction du nom du fichier .dbml. Pour ce projet, l’objet DataContext est nommé northwindDataContext.

    Vous pouvez créer une instance du DataContext dans votre code et appeler les méthodes de procédure stockée spécifiées par le Concepteur O/R. Pour lier l'objet DataGridView, vous devrez peut-être forcer l'exécution immédiate de la requête en appelant la méthode ToList sur les résultats de la procédure stockée.

    Ajoutez le code suivant à l’événement Load pour appeler l’une des procédures stockées exposées en tant que méthodes pour votre contexte de données.

    Dim db As New northwindDataContext
    
    ' Display the results of the Sales_by_Year stored procedure.
    DataGridView1.DataSource =
        db.Sales_by_Year(#1/1/1996#, #1/1/2007#).ToList()
    
    ' Display the results of the Ten_Most_Expensive_Products
    ' stored procedure.
    
    DataGridView1.DataSource =
        db.Ten_Most_Expensive_Products.ToList()
    
  4. Appuyez sur F5 pour exécuter votre projet et afficher les résultats.

Voir aussi