Öppna SQL Server databas med hjälp av SQL Server .NET-dataprovider med Visual Basic .NET
Den här artikeln innehåller information om hur du öppnar SQL Server databaser med hjälp av SQL Server .NET-dataprovider med Visual Basic .NET.
Ursprunglig produktversion: Visual Basic .NET
Ursprungligt KB-nummer: 308656
Sammanfattning
I den här artikeln beskrivs hur du kan använda ADO.NET för att öppna en SQL Server-databas med hjälp av SQL Server .NET-dataprovider. ADO.NET samlar in alla klasser som krävs för datahantering. Namnområdet System.Data.SqlClient
beskriver en samling klasser som används för programmatisk åtkomst till en SQL Server datakälla. Du kan komma åt ADO-klasser via System.Data.OleDb
namnområdet för att ge stöd för OLE DB-databaser.
I den här artikeln konfigureras anslutningar både programmässigt och med hjälp av Visual Studio .NET Server Explorer. Kodexemplen i den här artikeln använder objekten SqlConnection
, SqlCommand
och SqlDataReader
ADO.NET.
Krav
I följande lista beskrivs nödvändig maskinvara, programvara, nätverksinfrastruktur och servicepaket som du behöver:
- Microsoft SQL Server
- Visual Basic .NET
Obs!
SQL Server och Visual Basic .NET måste installeras och köras på samma dator. Dessutom måste användaren kunna använda Windows-integrerad säkerhet för att ansluta till SQL Server.
Den här artikeln förutsätter att du är bekant med följande ämnen:
- ADO.NET begrepp
- SQL Server begrepp och Transact-SQL-syntax (T-SQL)
- Northwind-exempeldatabas
Skapa Visual Basic .NET Windows-program
Starta Visual Studio .NET och skapa ett nytt Visual Basic Windows-programprojekt med namnet SQLDataAccess.
Öppna Formulär1. På den första raden i Form1.vb lägger du till en referens till ADO.NET namnområde på följande sätt:
Imports System.Data.SqlClient
Från Start-menyn i Windows pekar du på Program, pekar på Microsoft SQL Server och klickar sedan på SQL Server Service Manager för att se till att SQL Server-tjänsten körs på datorn.
Ange serveregenskapen till namnet på datorn och ange sedan egenskapen Services till MSSQLServer.
Om tjänsten inte körs klickar du på Starta.
Stäng dialogrutan SQL Server Service Manager.
Skapa ADO.NET objekt
Ändra klassen på Form1
följande sätt:
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
Objektet SqlConnection
upprättar en databasanslutning, SqlCommand
objektet kör en fråga mot databasen och SqlDataReader
objektet hämtar resultatet av frågan.
Använd SqlConnection-objektet för att öppna SQL Server anslutning
Om du vill konfigurera objektets anslutningssträng
SqlConnection
lägger du till följande kod i händelseprocedurenForm1_Load
:'Create a Connection object. myConn = New SqlConnection("Initial Catalog=Northwind;" & _ "Data Source=localhost;Integrated Security=SSPI;")
Om du vill konfigurera
Command
objektet, som innehåller SQL-frågan, lägger du till följande kod i händelseprocedurenForm1_Load
:'Create a Command object. myCmd = myConn.CreateCommand myCmd.CommandText = "SELECT FirstName, LastName FROM Employees" 'Open the connection. myConn.Open()
SqlConnection
använder din Inloggningsinformation för Windows för att ansluta till Northwind-databasen på datorn.
Använd SqlDataReader-objektet för att hämta data från SQL Server
Lägg till följande kod i händelseproceduren
Form1_Load
:myReader = myCmd.ExecuteReader()
myCmd.ExecuteReader
När metoden körsSqlCommand
hämtar två fält frånEmployees
tabellen och skapar ettSqlDataReader
-objekt.Om du vill visa frågeresultatet lägger du till följande kod i händelseproceduren
Form1_Load
:'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)
Metoden
myReader.Read
returnerar ett booleskt värde, vilket anger om det finns fler poster att läsa. Resultatet av SQL-frågan visas i en meddelanderuta.Om du vill stänga objekten
SqlDataReader
ochSqlConnection
lägger du till följande kod i händelseprocedurenForm1_Load
:'Close the reader and the database connection. myReader.Close() myConn.Close()
Spara och kör projektet.
Visa databas i Server Explorer
- På menyn Visa klickar du på ServerUtforskaren.
- Högerklicka på Data Connections och klicka sedan på Lägg till anslutning.
- I dialogrutan Egenskaper för datalänk klickar du på localhost i rutan Välj eller ange ett servernamn .
- Klicka på Windows NT Integrated Security för att logga in på servern.
- Klicka på Välj databasen på servern och välj sedan Northwind-databas i listan.
- Klicka på Testa anslutning för att verifiera anslutningen och klicka sedan på OK.
- I ServerUtforskaren klickar du för att expandera trädet Data Connections så att tabellnoden
Employees
expanderas. Egenskaperna för enskilda fält visas i fönstret Egenskaper .
Använd Server Explorer för att öppna SQL Server anslutning
Visa Formulär1 i designvyn.
Dra databasfälten FirstName och LastName från
Employees
tabellen i Server Explorer och släpp dessa fält till Form1. EttSqlConnection
-objekt ochSqlDataAdapter
-objekt skapas i formuläret.I menyn Visa klickar du på Verktygslåda.
Dra ett
DataSet
objekt (DataSet1) på fliken Data och släpp det i formuläret.I dialogrutan Lägg till datauppsättning klickar du på Otypad datauppsättning och sedan på OK.
Infoga en kodrad innan objekten
DataReader
ochConnection
stängs i händelseprocedurenForm1_Load
. Slutet av proceduren bör se ut så här:SqlDataAdapter1.Fill(DataSet1, "Employees") myReader.Close() myConn.Close()
Dra en DataGrid-kontroll på fliken Fönsterformulär i verktygslådan och släpp den på Formulär1.
Om du vill binda DataGrid till objektet
DataSet
som du skapade tidigare lägger du till följande kod i händelseprocedurenForm1_Load
före kodradenmyReader.close()
:DataGrid1.SetDataBinding(DataSet1, "Employees")
Spara och kör projektet.
Referenser
Mer information om hur du använder ADO.NET finns i avsnittet Data i Visual Basic i visual studio .NET-hjälpdokumentationen.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för