Partager via


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

LINQ (Language-Integrated Query) facilite l’accès aux informations de base de données, y compris aux 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, mais l’autre procédure ne prend pas de paramètres.

Les exemples de cette rubrique utilisent l’exemple de base de données Northwind. Si cette base de données n’est pas disponible sur votre ordinateur de développement, vous pouvez la télécharger à partir du Centre de téléchargement Microsoft. Pour obtenir des instructions, consultez Téléchargement d’exemples de bases de données.

Notes

Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d’informations, consultez Personnalisation de 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. Spécifiez 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 Application Windows Forms Visual Basic comme type de projet.

  2. Dans le menu 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 Add. Le Concepteur Objet/Relationnel (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 Sales by Year (Ventes annuelles) et faites-la glisser vers le volet droit du concepteur. Cliquez sur la procédure stockée Ten Most Expensive Products (Les dix produits les plus chers) et faites-la glisser vers le volet droit du concepteur.

  3. Enregistrez vos modifications et fermez le concepteur.

  4. Enregistrez votre projet.

Pour ajouter le code nécessaire 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 de votre projet Form1.

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

  3. Lorsque vous avez ajouté les procédures stockées au Concepteur O/R, le concepteur a ajouté un objet DataContext pour votre projet. Cet objet contient le code dont vous avez besoin pour accéder à ces procédures. L’objet DataContext du projet est nommé d’après le nom du fichier .dbml. Pour ce projet, l’objet DataContext est nommé northwindDataContext.

    Vous pouvez créer une instance de l’objet DataContext dans votre code et appeler les méthodes de procédure stockée spécifiées par le Concepteur O/R. Pour établir une liaison à 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