Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Language-Integrated QUERY's (LINQ) maken het makkelijk om toegang te krijgen tot databasegegevens en waarden in de database te wijzigen.
In het volgende voorbeeld ziet u hoe u een nieuwe toepassing maakt waarmee informatie in een SQL Server-database wordt opgehaald en bijgewerkt.
In de voorbeelden in dit artikel wordt de voorbeelddatabase Northwind gebruikt. Raadpleeg Het downloaden van voorbeelddatabasesom de database te verkrijgen.
Een verbinding met een database maken
In Visual Studio de Server Explorer/Database Explorer openen door in het menu Weergave te klikken en vervolgens Server Explorer/Database Explorerte selecteren.
Klik met de rechtermuisknop op gegevensverbindingen in Server Explorer/Database Exploreren klik op Verbindingtoevoegen.
Geef een geldige verbinding op met de northwind-voorbeelddatabase.
Een project met een LINQ toevoegen aan een SQL-bestand
Wijs in Visual Studio in het menu Bestand naar Nieuw en klik vervolgens op Project. Selecteer Visual Basic Windows Forms Application als projecttype.
Klik in het menu Project op Nieuwe item toevoegen. Selecteer de LINQ naar SQL-klassen itemsjabloon.
Geef het bestand de naam
northwind.dbml. Klik op toevoegen. De Object Relational Designer (O/R Designer) wordt geopend voor het bestandnorthwind.dbml.
Tabellen toevoegen om query's uit te voeren en te wijzigen in de ontwerpfunctie
Vouw in Server Explorer/Database Explorerde verbinding met de Northwind-database uit. Vouw de map Tabellen uit.
Als u de ontwerpfunctie voor O/R hebt gesloten, kunt u deze opnieuw openen door te dubbelklikken op het
northwind.dbml-bestand dat u eerder hebt toegevoegd.Klik op de tabel Klanten en sleep deze naar het linkerdeelvenster van de ontwerper.
De ontwerpfunctie maakt een nieuw klantobject voor uw project.
Sla uw wijzigingen op en sluit de ontwerpfunctie.
Sla uw project op.
Code toevoegen om de database te wijzigen en de resultaten weer te geven
Sleep vanuit de Toolboxeen DataGridView controle naar het standaard Windows-formulier voor uw project, Form1.
Wanneer u tabellen hebt toegevoegd aan O/R Designer, heeft de ontwerper een DataContext-object aan uw project toegevoegd. Dit object bevat code die u kunt gebruiken voor toegang tot de tabel Klanten. Het bevat ook code die een lokaal klantobject en een verzameling Klanten voor de tabel definieert. Het DataContext-object voor uw project heeft een naam op basis van de naam van het DBML-bestand. Voor dit project heeft het DataContext object de naam
northwindDataContext.U kunt een exemplaar van het DataContext-object in uw code maken en de verzameling klanten die is opgegeven door de O/R Designer opvragen en wijzigen. Wijzigingen die u aanbrengt in de verzameling Klanten worden pas doorgevoerd in de database nadat u ze hebt ingediend door de SubmitChanges methode van het DataContext-object aan te roepen.
Dubbelklik op het Windows-formulier, Form1, om code toe te voegen aan de Load gebeurtenis om een query uit te voeren op de tabel Klanten die wordt weergegeven als een eigenschap van uw DataContext. Voeg de volgende code toe:
Private db As northwindDataContext Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles MyBase.Load db = New northwindDataContext() RefreshData() End Sub Private Sub RefreshData() Dim customers = From cust In db.Customers Where cust.City(0) = "W" Select cust DataGridView1.DataSource = customers End SubSleep vanuit de Werksetdrie Button besturingselementen naar het formulier. Selecteer het eerste
Buttonbedieningselement. Stel in het venster Eigenschappen deNamevan het besturingselementButtonin opAddButtonen deTextopAdd. Selecteer de tweede knop en stel de eigenschapNamein opUpdateButtonen de eigenschapTextopUpdate. Selecteer de derde knop en stel de eigenschapNamein opDeleteButtonen de eigenschapTextopDelete.Dubbelklik op de knop toevoegen om code toe te voegen aan de bijbehorende
Clickgebeurtenis. Voeg de volgende code toe:Private Sub AddButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles AddButton.Click Dim cust As New Customer With { .City = "Wellington", .CompanyName = "Blue Yonder Airlines", .ContactName = "Jill Frank", .Country = "New Zealand", .CustomerID = "JILLF"} db.Customers.InsertOnSubmit(cust) Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End SubDubbelklik op de knop bijwerken om code toe te voegen aan de bijbehorende
Clickgebeurtenis. Voeg de volgende code toe:Private Sub UpdateButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs ) Handles UpdateButton.Click Dim updateCust = (From cust In db.Customers Where cust.CustomerID = "JILLF").ToList()(0) updateCust.ContactName = "Jill Shrader" updateCust.Country = "Wales" updateCust.CompanyName = "Red Yonder Airlines" updateCust.City = "Cardiff" Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End SubDubbelklik op de knop Verwijderen om code toe te voegen aan de bijbehorende
Clickgebeurtenis. Voeg de volgende code toe:Private Sub DeleteButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs ) Handles DeleteButton.Click Dim deleteCust = (From cust In db.Customers Where cust.CustomerID = "JILLF").ToList()(0) db.Customers.DeleteOnSubmit(deleteCust) Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End SubDruk op F5 om uw project uit te voeren. Klik op Toevoegen om een nieuwe record toe te voegen. Klik op bijwerken om de nieuwe record te wijzigen. Klik op verwijderen om de nieuwe record te verwijderen.