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.
Dit artikel bevat informatie over het openen van SQL Server-databases met behulp van SQL Server .NET-gegevensprovider met Visual Basic .NET.
Oorspronkelijke productversie: Visual Basic .NET
Oorspronkelijk KB-nummer: 308656
Samenvatting
In dit artikel wordt beschreven hoe u ADO.NET kunt gebruiken om een SQL Server-database te openen met behulp van de .NET-gegevensprovider van SQL Server. ADO.NET verzamelt alle klassen die vereist zijn voor gegevensverwerking. De System.Data.SqlClient
naamruimte beschrijft een verzameling klassen die worden gebruikt om programmatisch toegang te krijgen tot een SQL Server-gegevensbron. U kunt toegang krijgen tot ADO-klassen via de System.Data.OleDb
naamruimte om ondersteuning te bieden voor OLE DB-databases.
In dit artikel worden verbindingen zowel programmatisch ingesteld als met behulp van Visual Studio .NET Server Explorer. In de codevoorbeelden in dit artikel worden de SqlConnection
objecten , SqlCommand
en SqlDataReader
ADO.NET gebruikt.
Behoeften
De volgende lijst bevat een overzicht van de vereiste hardware, software, netwerkinfrastructuur en servicepacks die u nodig hebt:
- Microsoft SQL Server
- Visual Basic .NET
Notitie
SQL Server en Visual Basic .NET moeten worden geïnstalleerd en uitgevoerd op dezelfde computer. Bovendien moet de gebruiker geïntegreerde Windows-beveiliging kunnen gebruiken om verbinding te maken met SQL Server.
In dit artikel wordt ervan uitgegaan dat u bekend bent met de volgende onderwerpen:
- ADO.NET concepten
- SQL Server-concepten en Transact-SQL-syntaxis (T-SQL)
- Northwind-voorbeelddatabase
Visual Basic .NET Windows-toepassing maken
Start Visual Studio .NET en maak een nieuw Visual Basic Windows-toepassingsproject met de naam SQLDataAccess.
Open Form1. Voeg in de eerste regel van Form1.vb als volgt een verwijzing toe naar de ADO.NET-naamruimte:
Imports System.Data.SqlClient
Wijs in het menu Start van Windows programma's aan, wijs Microsoft SQL Server aan en klik vervolgens op SQL Server Service Manager om ervoor te zorgen dat de SQL Server-service wordt uitgevoerd op uw computer.
Stel de eigenschap Server in op de naam van uw computer en stel vervolgens de eigenschap Services in op MSSQLServer.
Als de service niet wordt uitgevoerd, klikt u op Start.
Sluit het dialoogvenster SQL Server Service Manager .
ADO.NET-objecten maken
Wijzig de Form1
klasse als volgt:
Public Class Form1
Inherits System.Windows.Forms.Form
'Create ADO.NET objects.
Private myConn As SqlConnection
Private myCmd As SqlCommand
Private myReader As SqlDataReader
Private results As String
Het SqlConnection
object brengt een databaseverbinding tot stand, het SqlCommand
object voert een query uit op de database en het SqlDataReader
object haalt de resultaten van de query op.
Het SqlConnection-object gebruiken om de SQL Server-verbinding te openen
Als u de verbindingsreeks van het
SqlConnection
object wilt instellen, voegt u de volgende code toe aan deForm1_Load
gebeurtenisprocedure:'Create a Connection object. myConn = New SqlConnection("Initial Catalog=Northwind;" & _ "Data Source=localhost;Integrated Security=SSPI;")
Als u het
Command
object wilt instellen dat de SQL-query bevat, voegt u de volgende code toe aan deForm1_Load
gebeurtenisprocedure:'Create a Command object. myCmd = myConn.CreateCommand myCmd.CommandText = "SELECT FirstName, LastName FROM Employees" 'Open the connection. myConn.Open()
SqlConnection
gebruikt uw Windows-aanmeldingsgegevens om verbinding te maken met de Northwind-database op uw computer.
Het SqlDataReader-object gebruiken om gegevens op te halen uit SQL Server
Voeg de volgende code toe aan de
Form1_Load
gebeurtenisprocedure:myReader = myCmd.ExecuteReader()
Wanneer de
myCmd.ExecuteReader
methode wordt uitgevoerd,SqlCommand
haalt u twee velden op uit deEmployees
tabel en maakt u eenSqlDataReader
object.Als u de queryresultaten wilt weergeven, voegt u de volgende code toe aan de
Form1_Load
gebeurtenisprocedure:'Concatenate the query result into a string. Do While myReader.Read() results = results & myReader.GetString(0) & vbTab & _ myReader.GetString(1) & vbLf Loop 'Display results. MsgBox(results)
De
myReader.Read
methode retourneert een Booleaanse waarde, die aangeeft of er meer records moeten worden gelezen. De resultaten van de SQL-query worden weergegeven in een berichtvak.Als u de
SqlDataReader
enSqlConnection
objecten wilt sluiten, voegt u de volgende code toe aan deForm1_Load
gebeurtenisprocedure:'Close the reader and the database connection. myReader.Close() myConn.Close()
Sla het project op en voer het uit.
Database weergeven in Server Explorer
- Klik in het menu Beeld op Server Explorer.
- Klik met de rechtermuisknop op Gegevensverbindingen en klik vervolgens op Verbinding toevoegen.
- Klik in het dialoogvenster Eigenschappen van gegevenskoppeling op localhost in het vak Een servernaam selecteren of invoeren.
- Klik op Windows NT Integrated Security om u aan te melden bij de server.
- Klik op De database op de server selecteren en selecteer vervolgens Northwind-database in de lijst.
- Klik op Verbinding testen om de verbinding te valideren en klik vervolgens op OK.
- Klik in Server Explorer om de structuur gegevensverbindingen uit te vouwen, zodat het
Employees
tabelknooppunt wordt uitgebreid. De eigenschappen van afzonderlijke velden worden weergegeven in het venster Eigenschappen .
Server Explorer gebruiken om de SQL Server-verbinding te openen
Formulier1 weergeven in de ontwerpweergave.
Sleep de velden FirstName en LastName uit
Employees
de tabel in Server Explorer en zet deze velden neer op Form1. ASqlConnection
enSqlDataAdapter
object worden in het formulier gemaakt.Klik in het menu Beeld op Werkset.
Sleep een
DataSet
object (DataSet1) op het tabblad Gegevens en zet het neer op het formulier.Klik in het dialoogvenster Gegevensset toevoegen op Niet-getypte gegevensset en klik vervolgens op OK.
Voeg een coderegel in voordat de
DataReader
enConnection
objecten worden gesloten in deForm1_Load
gebeurtenisprocedure. Het einde van de procedure moet als volgt worden weergegeven:SqlDataAdapter1.Fill(DataSet1, "Employees") myReader.Close() myConn.Close()
Sleep op het tabblad Vensterformulieren van de werkset een DataGrid-besturingselement en zet het neer op Form1.
Als u de DataGrid wilt binden aan het
DataSet
object dat u eerder hebt gemaakt, voegt u de volgende code toe aan deForm1_Load
gebeurtenisprocedure vóór demyReader.close()
coderegel:DataGrid1.SetDataBinding(DataSet1, "Employees")
Sla het project op en voer het uit.
Verwijzingen
Raadpleeg de sectie Gegevens van het onderwerp Visual Basic in de Help-documentatie van Visual Studio .NET voor meer informatie over het gebruik van ADO.NET.