Delen via


Procedure: Een opgeslagen procedure aanroepen met LINQ (Visual Basic)

Met Language-Integrated Query (LINQ) hebt u eenvoudig toegang tot databasegegevens, waaronder databaseobjecten zoals opgeslagen procedures.

In het volgende voorbeeld ziet u hoe u een toepassing maakt die een opgeslagen procedure aanroept in een SQL Server-database. In het voorbeeld ziet u hoe u twee verschillende opgeslagen procedures in de database aanroept. Elke procedure retourneert de resultaten van een query. De ene procedure neemt invoerparameters en de andere procedure neemt geen parameters.

In de voorbeelden in dit onderwerp wordt de voorbeelddatabase Northwind gebruikt. Als u deze database niet op uw ontwikkelcomputer hebt, kunt u deze downloaden via het Microsoft Downloadcentrum. Zie Voorbeelddatabases downloaden voor instructies.

Notitie

Mogelijk worden op uw computer verschillende namen of locaties weergegeven voor sommige elementen van de Visual Studio-gebruikersinterface in de volgende instructies. De Visual Studio-editie die u hebt en de instellingen die u gebruikt, bepalen deze elementen. Zie Personalizing the IDE (Personalizing the IDE) voor meer informatie.

Een verbinding met een database maken

  1. Open Server Explorer/Database Explorer in Visual Studio door te klikken op Server Explorer Database Explorer/ in het menu Beeld.

  2. Klik met de rechtermuisknop op Gegevens Verbinding maken ions in Server Explorer/Database Explorer en klik vervolgens op Verbinding maken ion toevoegen.

  3. Geef een geldige verbinding op met de northwind-voorbeelddatabase.

Een project met een LINQ toevoegen aan een SQL-bestand

  1. Wijs in Visual Studio in het menu Bestand de optie Nieuw aan en klik vervolgens op Project. Selecteer Visual Basic Windows Forms Application als projecttype.

  2. Klik in het menu Project op Nieuw item toevoegen. Selecteer de ITEMsjabloon LINQ naar SQL-klassen .

  3. Noem het bestand northwind.dbml. Klik op Toevoegen. De Object Relational Designer (O/R Designer) wordt geopend voor het bestand northwind.dbml.

Opgeslagen procedures toevoegen aan O/R Designer

  1. Vouw in Server Explorer/Database Explorer de verbinding met de Northwind-database uit. Vouw de map Opgeslagen procedures uit.

    Als u de O/R Designer hebt gesloten, kunt u deze opnieuw openen door te dubbelklikken op het northwind.dbml-bestand dat u eerder hebt toegevoegd.

  2. Klik op de opgeslagen procedure Verkoop per jaar en sleep deze naar het rechterdeelvenster van de ontwerpfunctie. Klik op de opgeslagen procedure Tien duurste producten en sleep deze naar het rechterdeelvenster van de ontwerpfunctie.

  3. Sla uw wijzigingen op en sluit de ontwerpfunctie.

  4. Sla uw project op.

Code toevoegen om de resultaten van de opgeslagen procedures weer te geven

  1. Sleep vanuit de werkset een DataGridView besturingselement naar het standaard Windows-formulier voor uw project, Form1.

  2. Dubbelklik op Form1 om code toe te voegen aan de Load gebeurtenis.

  3. Toen u opgeslagen procedures aan de O/R Designer hebt toegevoegd, heeft de ontwerper een DataContext object toegevoegd voor uw project. Dit object bevat de code die u nodig hebt voor toegang tot deze procedures. Het DataContext object voor het project heeft een naam op basis van de naam van het DBML-bestand. Voor dit project heeft het object de DataContext naam northwindDataContext.

    U kunt een exemplaar van de DataContext code maken en de opgeslagen proceduremethoden aanroepen die zijn opgegeven door de O/R Designer. Als u verbinding wilt maken met het DataGridView object, moet u mogelijk afdwingen dat de query onmiddellijk wordt uitgevoerd door de ToList methode aan te roepen voor de resultaten van de opgeslagen procedure.

    Voeg de volgende code toe aan de Load gebeurtenis om een van de opgeslagen procedures aan te roepen die beschikbaar zijn als methoden voor uw gegevenscontext.

    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. Druk op F5 om uw project uit te voeren en de resultaten weer te geven.

Zie ook