Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält Informationen zum Öffnen von Microsoft SQL Server-Datenbanken mithilfe von SQL Server .NET Data Provider zusammen mit Visual Basic .NET. Sie können ADO.NET verwenden, um eine SQL Server-Datenbank mithilfe des SQL Server .NET-Datenanbieters zu öffnen. ADO.NET sammelt alle Klassen, die für die Datenverarbeitung erforderlich sind.
Der System.Data.SqlClient Namespace beschreibt eine Auflistung von Klassen, die für den programmgesteuerten Zugriff auf eine SQL Server-Datenquelle verwendet werden. Sie können über den System.Data.OleDb Namespace auf ADO-Klassen zugreifen, um Unterstützung für OLE DB-Datenbanken bereitzustellen.
In diesem Artikel werden Verbindungen sowohl programmgesteuert als auch mithilfe des Visual Studio .NET Server-Explorers eingerichtet. In den Codebeispielen in diesem Artikel werden die SqlConnectionObjekte , SqlCommandund SqlDataReader ADO.NET verwendet.
Gilt für: Visual Basic .NET
Ursprüngliche KB-Nummer: 308656
Voraussetzungen
- Microsoft SQL Server
- Visual Basic .NET
Notiz
SQL Server und Visual Basic .NET müssen auf demselben Computer installiert und ausgeführt werden. Darüber hinaus muss der Benutzer windows Integrated Security verwenden können, um eine Verbindung mit SQL Server herzustellen.
In diesem Artikel wird davon ausgegangen, dass Sie mit den folgenden Themen vertraut sind:
- ADO.NET Konzepte
- SQL Server-Konzepte und Transact-SQL -Syntax (T-SQL)
- Die Northwind-Beispieldatenbank
Erstellen einer .NET-Windows-Anwendung für Visual Basic
Erstellen Sie in Visual Studio .NET ein Visual Basic Windows Application-Projekt, und nennen Sie es SQLDataAccess.
Öffnen Sie Formular1.
Fügen Sie in der ersten Zeile Form1.vb einen Verweis auf den ADO.NET-Namespace wie folgt hinzu:
Imports System.Data.SqlClientUm sicherzustellen, dass der SQL Server-Dienst auf Ihrem Computer ausgeführt wird, wählen Sie "Start" aus, zeigen Sie auf "Programme", zeigen Sie auf Microsoft SQL Server, und wählen Sie dann SQL Server Service Manager aus.
Legen Sie die Server-Eigenschaft auf den Namen Ihres Computers fest, und legen Sie dann die Services-Eigenschaft auf MSSQLServer fest.
Wenn der Dienst nicht ausgeführt wird, wählen Sie "Start" aus.
Schließen Sie das Dialogfeld SQL Server Service Manager .
Erstellen ADO.NET Objekte
Ändern Sie die Form1 Klasse wie folgt:
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
Das SqlConnection Objekt stellt eine Datenbankverbindung her, das SqlCommand Objekt führt eine Abfrage für die Datenbank aus, und das SqlDataReader Objekt ruft die Ergebnisse der Abfrage ab.
Verwenden des SqlConnection-Objekts zum Öffnen der SQL Server-Verbindung
Um die Verbindungszeichenfolge des
SqlConnectionObjekts einzurichten, fügen Sie der Ereignisprozedur den folgenden Code hinzuForm1_Load:'Create a Connection object. myConn = New SqlConnection("Initial Catalog=Northwind;" & _ "Data Source=localhost;Integrated Security=SSPI;")Um das
CommandObjekt einzurichten, das die SQL-Abfrage enthält, fügen Sie der Ereignisprozedur den folgenden Code hinzuForm1_Load:'Create a Command object. myCmd = myConn.CreateCommand myCmd.CommandText = "SELECT FirstName, LastName FROM Employees" 'Open the connection. myConn.Open()
SqlConnection verwendet Ihre Windows-Anmeldedetails, um eine Verbindung mit der Northwind-Datenbank auf Ihrem Computer herzustellen.
Verwenden des SqlDataReader-Objekts zum Abrufen von Daten aus SQL Server
Fügen Sie den folgenden Code zur
Form1_Load-Ereignisprozedur hinzu:myReader = myCmd.ExecuteReader()
Wenn die myCmd.ExecuteReader-Methode ausgeführt wird, werden aus der Employees-Tabelle zwei Felder abgerufen und ein SqlDataReader-Objekt erstellt.
Um die Abfrageergebnisse anzuzeigen, fügen Sie der Ereignisprozedur den folgenden Code hinzu
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)
Die myReader.Read Methode gibt einen booleschen Wert zurück, der angibt, ob mehr Datensätze gelesen werden sollen. Die Ergebnisse der SQL-Abfrage werden in einem Meldungsfeld angezeigt.
Um die
SqlDataReaderObjekteSqlConnectionzu schließen, fügen Sie der Ereignisprozedur den folgenden Code hinzuForm1_Load:'Close the reader and the database connection. myReader.Close() myConn.Close()Speichern sie das Projekt, und führen Sie es aus.
Datenbank im Server-Explorer anzeigen
- Wählen Sie im Menü "Ansicht " die Option "Server-Explorer" aus.
- Klicken Sie mit der rechten Maustaste auf "Datenverbindungen", und wählen Sie dann "Verbindung hinzufügen" aus.
- Wählen Sie im Dialogfeld Datenlinkeigenschaften im Feld Servernamenlocalhost aus oder geben Sie einen Servernamen ein.
- Um sich beim Server anzumelden, wählen Sie die integrierte Windows NT-Sicherheit aus.
- Wählen Sie die Datenbank auf dem Server und dann die Northwind-Datenbank in der Liste aus.
- Um die Verbindung zu überprüfen, wählen Sie " Verbindung testen" und dann "OK" aus.
- Wählen Sie im Server-Explorer aus, um die Datenverbindungen-Struktur zu erweitern, damit der
EmployeesTabellenknoten erweitert wird. Die Eigenschaften einzelner Felder werden im Eigenschaftenfenster angezeigt.
Verwenden des Server-Explorers zum Öffnen der SQL Server-Verbindung
Formular1 in der Entwurfsansicht anzeigen.
Ziehen und ablegen Sie die Datenbankfelder Vorname und Nachname aus der
EmployeesTabelle im Server-Explorer auf Form1. Diese Aktion erstelltSqlConnectionundSqlDataAdapterObjekte im Formular.Wählen Sie im Menü "Ansicht " die Option "Toolbox" aus.
Ziehen und ablegen Sie ein
DataSetObjekt (DataSet1) auf der Registerkarte „Daten“ auf das Formular.Wählen Sie im Dialogfeld "Dataset hinzufügen " die Option " Nicht eingegebenes Dataset" und dann "OK" aus.
Fügen Sie in der
Form1_LoadEreignisprozedur eine Codezeile ein, bevor dieDataReaderundConnectionObjekte geschlossen werden, um die Prozedur wie folgt zu beenden:SqlDataAdapter1.Fill(DataSet1, "Employees") myReader.Close() myConn.Close()Ziehen Sie das DataGrid-Steuerelement aus der Registerkarte Fensterformulare der Toolbox und platzieren Sie es auf Form1.
Fügen Sie in der
Form1_LoadEreignisprozedur den folgenden Code vor dermyReader.close()Zeile hinzu, um das DataGrid an dasDataSetObjekt zu binden, das Sie zuvor erstellt haben:DataGrid1.SetDataBinding(DataSet1, "Employees")Speichern sie das Projekt, und führen Sie es aus.