Exemplarische Vorgehensweise: Anzeigen von Daten mit einer gespeicherten Prozedur im GridView-Webserver-Steuerelement
Aktualisiert: November 2007
In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie Daten mit einer gespeicherten Prozedur im GridView-Steuerelement angezeigt werden. Eine gespeicherte Prozedur ist eine SQL-Abfrage, die in einer Microsoft SQL Server-Datenbank und nicht im Anwendungscode gespeichert ist. Gespeicherte Prozeduren sind sicherer als Abfragecode und werden oft schneller ausgeführt. In dieser exemplarischen Vorgehensweise erstellen Sie ein SqlDataSource-Steuerelement, das die Ergebnisse einer gespeicherten Prozedur abruft. Das SqlDataSource-Steuerelement fungiert als Datenquelle für ein GridView-Steuerelement. Das GridView-Steuerelement liest die durch die gespeicherte Prozedur generierten Ergebnisse und erstellt Zeilen und Tabellen zum Anzeigen der Daten.
Bei dieser exemplarischen Vorgehensweise lernen Sie Folgendes:
Herstellen einer Verbindung zu einer SQL Server-Datenbank in Visual Web Developer.
Verwenden des SqlDataSource-Steuerelements zum Verwalten von Datenzugriff und Bindung.
Hinzufügen einer gespeicherten Prozedur zur Rückgabe von Daten, die im GridView-Steuerelement angezeigt werden.
Anzeigen der von der gespeicherten Prozedur im GridView-Steuerelement zurückgegebenen Daten.
Vorbereitungsmaßnahmen
Für die Durchführung dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:
Visual Studio 2008 oder Visual Web Developer 2008 Express Edition.
Hinweis: Das in dieser exemplarischen Vorgehensweise verwendete Feature Neue gespeicherte Prozedur hinzufügen wird von Visual Web Developer 2005 Express Edition nicht unterstützt.
SQL Server Express Edition. Sie können auch eine SQL Server-Installation verwenden, jedoch müssen Sie an einigen Prozeduren kleine Anpassungen vornehmen.
Microsoft Data Access Components (MDAC), Version 2.7 oder höher.
Wenn Sie Microsoft Windows XP oder Windows Server 2003 verwenden, verfügen Sie bereits über MDAC 2.7. Wenn Sie jedoch Microsoft Windows 2000 verwenden, müssen Sie möglicherweise die bereits auf dem Computer installierte Version von MDAC aktualisieren. Weitere Informationen finden Sie unter Microsoft Data Access Components (MDAC) Installation auf der MSDN-Website.
Zugriff auf die Northwind-Datenbank in SQL Server. Informationen über das Herunterladen und Installieren der SQL Server-Beispieldatenbank Northwind finden Sie auf der Microsoft SQL Server-Website unter Installing Sample Databases.
Hinweis: Wenden Sie sich an den Serveradministrator, wenn Sie Informationen bezüglich der Anmeldung bei SQL Server benötigen.
Erstellen einer Website
Erstellen Sie eine neue Website und eine neue Webseite, indem Sie folgende Schritte ausführen.
So erstellen Sie eine Dateisystem-Website
Öffnen Sie Visual Web Developer.
Klicken Sie im Menü Datei auf Neu, und klicken Sie anschließend auf Website. Wenn Sie Visual Web Developer Express Edition verwenden, klicken Sie im Menü Datei auf Neu und Website.
Das Dialogfeld Neue Website wird angezeigt.
Klicken Sie unter Von Visual Studio installierte Vorlagen auf ASP.NET-Website.
Wählen Sie im ersten Feld Speicherort die Option Dateisystem aus, und geben Sie im zweiten Feld den Namen des Ordners ein, in dem Sie die Seiten der Website speichern möchten.
Geben Sie z. B. den Ordnernamen C:\WebSites\StoredProcedure ein.
Klicken Sie in der Liste Sprachen auf die Programmiersprache, in der Sie arbeiten möchten.
Klicken Sie auf OK.
Visual Web Developer Express Edition erstellt den Ordner und die neue Seite Default.aspx.
Hinzufügen einer gespeicherten Prozedur zum Zurückgeben von Daten
Wenn Sie Daten auf einer ASP.NET-Webseite anzeigen möchten, benötigen Sie Folgendes:
Eine Verbindung zu einer Datenquelle (z. B. einer Datenbank)
In der folgenden Prozedur erstellen Sie eine Verbindung mit der SQL Server-Datenbank Northwind.
Eine gespeicherte Prozedur, die Daten zum Anzeigen zurückgibt.
Ein Datenquellen-Steuerelement auf der Seite, in dem die gespeicherte Prozedur ausgeführt und die Ergebnisse verwaltet werden.
Ein Steuerelement auf der Seite zum Anzeigen der Daten.
In der folgenden Prozedur zeigen Sie Daten in einem GridView-Steuerelement an. Das GridView-Steuerelement ruft seine Daten aus dem SqlDataSource-Steuerelement ab.
Im ersten Schritt wird eine gespeicherte Prozedur erstellt.
So erstellen Sie eine gespeicherte Prozedur zum Zurückgeben von Daten
Klicken Sie im Server-Explorer mit der rechten Maustaste auf Datenverbindungen, und klicken Sie dann auf Verbindung hinzufügen. Wenn Sie Visual Web Developer Express Edition verwenden, verwenden Sie Datenbank-Explorer.
Das Dialogfeld Verbindung hinzufügen wird angezeigt.
Wenn in der Liste Datenquelle der Eintrag Microsoft SQL Server (SqlClient) nicht angezeigt wird, klicken Sie auf Ändern, und wählen Sie im Dialogfeld Datenquelle wechseln den Eintrag Microsoft SQL Server aus.
Wenn statt des Dialogfelds Verbindungseigenschaften das Dialogfeld Datenquelle auswählen angezeigt wird, wählen Sie in der Liste Datenquelle den Typ der Datenquelle aus, die Sie verwenden. Für diese exemplarische Vorgehensweise ist der Datenquellentyp Microsoft SQL Server. Klicken Sie in der Liste Datenanbieter auf .NET Framework-Datenanbieter für SQL Server, und klicken Sie danach auf Weiter.
Hinweis: Wenn die Registerkarte Server-Explorer in Visual Web Developer nicht sichtbar ist, klicken Sie im Menü Ansicht auf Server-Explorer. Klicken Sie in Visual Web Developer Express Edition im Menü Ansicht auf Datenbank-Explorer.
Geben Sie im Feld Verbindung hinzufügen im Textfeld Servername den Servernamen ein.
Wählen Sie im Abschnitt Beim Server anmelden die Option aus, die für einen Zugriff auf die Ausführung der SQL Server-Datenbank geeignet ist (integrierte Sicherheit oder bestimmte ID und Kennwort), und geben Sie, wenn erforderlich, einen Benutzernamen und ein Kennwort ein.
Wenn Sie ein Kennwort eingegeben haben, aktivieren Sie das Kontrollkästchen Kennwort speichern.
Unter Datenbanknamen auswählen oder eingeben geben Sie Northwind ein.
Klicken Sie auf Testverbindung, und wenn Sie sicher sind, dass sie funktioniert, klicken Sie auf OK.
Die neue Verbindung wird erstellt und wird unter Datenverbindungen im Server-Explorer angezeigt.
Erweitern Sie im Server-Explorer unter Datenverbindungen die gerade von Ihnen erstellte Datenverbindung. Wenn Sie Visual Web Developer Express Edition verwenden, verwenden Sie Datenbank-Explorer.
Datenverbindung wird erweitert und enthält jetzt untergeordnete Verbindungen, z. B. Tabellen, Ansichten und Gespeicherte Prozeduren.
Klicken Sie mit der rechten Maustaste auf Gespeicherte Prozeduren, und klicken Sie dann auf Neue gespeicherte Prozedur hinzufügen.
Hinweis: Das Feature Neue gespeicherte Prozedur hinzufügen wird von Visual Web Developer 2005 Express Edition nicht unterstützt.
Fügen Sie der neuen gespeicherten Prozedur den folgenden Code hinzu. Dabei überschreiben Sie den dort vorhandenen Code.
CREATE PROCEDURE GetEmployees AS Select EmployeeID, LastName, FirstName from Employees RETURN
Schließen Sie das Fenster, und klicken Sie auf Ja, um die gespeicherte Prozedur zu erstellen.
Hinweis: Das CREATE-Schlüsselwort ändert sich in ALTER, wenn die Prozedur gespeichert wurde.
Hinzufügen eines GridView-Steuerelements zum Anzeigen von Daten
Nachdem Sie eine Verbindung mit einer Datenquelle hergestellt haben, benötigen Sie Folgendes:
Ein Datenquellen-Steuerelement auf der Seite, in dem die gespeicherte Prozedur ausgeführt und die Ergebnisse verwaltet werden.
Ein Steuerelement auf der Seite zum Anzeigen der Daten.
In der folgenden Prozedur zeigen Sie Daten in einem GridView-Steuerelement an. Das GridView-Steuerelement ruft seine Daten aus dem SqlDataSource-Steuerelement ab.
Sie können der Website diese Elemente separat hinzufügen. Es ist jedoch die einfachste Methode, mit einer Visualisierung der Datenanzeige über das GridView-Steuerelement zu beginnen und danach Assistenten zu verwenden, um die Verbindung und das Datenquellen-Steuerelement zu erstellen. In der folgenden Prozedur wird erklärt, wie Sie die Elemente erstellen können, die zum Anzeigen von Daten auf der Seite erforderlich sind.
So fügen Sie ein GridView-Steuerelement hinzu und konfigurieren es, um Daten anzuzeigen
Öffnen Sie die Seite Default.aspx, oder wechseln Sie zu dieser, und wechseln Sie dann in die Entwurfsansicht.
Ziehen Sie in der Toolbox aus der Gruppe Daten ein GridView-Steuerelement auf die Seite.
Klicken Sie im Menü GridView-Aufgaben in der Liste Datenquelle auswählen auf Neue Datenquelle.
Das Dialogfeld Assistent zum Konfigurieren von Datenquellen wird angezeigt.
Wählen Sie Datenbank aus, und klicken Sie dann auf OK.
Dadurch wird angegeben, dass Sie Daten aus einer SQL Server-Datenbank abrufen möchten.
Im Feld ID für Datenquelle angeben wird ein Standardname für ein Datenquellen-Steuerelement (SqlDataSource1) angezeigt. Behalten Sie diesen Namen bei.
Der Assistent Datenquelle konfigurieren - SqlDataSource1 zeigt eine Seite an, auf der Sie eine Verbindung auswählen können.
Geben Sie im Feld Welche Datenverbindung soll die Anwendung für die Verbindung mit der Datenbank verwenden? die Verbindung ein, die Sie in der vorherigen Prozedur erstellt haben, und klicken Sie dann auf Weiter.
Der Assistent zeigt eine Seite an, auf der Sie die Möglichkeit haben, die Verbindungszeichenfolge in einer Konfigurationsdatei zu speichern. Das Speichern der Verbindungszeichenfolge in der Konfigurationsdatei hat zwei Vorteile:
Es ist sicherer als das Speichern auf der Seite.
Sie können die gleiche Verbindungszeichenfolge auf mehreren Seiten verwenden.
Aktivieren Sie das Kontrollkästchen Ja, Verbindung speichern unter, und klicken Sie dann auf Weiter.
Der Assistent zeigt eine Seite an, auf der Sie die Daten angeben können, die Sie aus der Datenbank abrufen möchten.
Wählen Sie die Option Benutzerdefinierte SQL-Anweisung oder gespeicherte Prozedur angeben aus, und klicken Sie dann auf Weiter.
Wählen Sie auf der Seite Benutzerdefinierte Anweisungen oder gespeicherte Prozeduren definieren die Option Gespeicherte Prozedur aus, und wählen Sie dann dann die zuvor erstellte gespeicherte Prozedur (GetEmployees) aus.
Klicken Sie auf Weiter.
Klicken Sie auf Testabfrage, um sicherzustellen, dass Sie die von Ihnen gewünschten Daten abrufen.
Klicken Sie auf Fertig stellen.
Hinzufügen eines DetailsView-Steuerelements zum Anzeigen von Daten aus einer gespeicherten Prozedur
Sie können Daten von einer gespeicherten Prozedur anzeigen, die Parameter akzeptiert. In der folgenden Prozedur erstellen Sie ein DetailsView-Steuerelement, um einen berechneten Wert für eine ausgewählte Zeile in einem GridView-Steuerelement anzuzeigen. Die GridView-Zeile stellt einen Mitarbeiterdatensatz dar, und das DetailsView-Steuerelemente zeigt den für den ausgewählten Mitarbeiter berechneten Gesamtumsatz an.
Sie benötigen Folgendes:
Eine gespeicherte Prozedur, die die Mitarbeiter-ID als Parameter nimmt und einen Wert zurückgibt.
Ein zweites Datenquellen-Steuerelement auf der Seite, in dem die gespeicherte Prozedur ausgeführt und die Ergebnisse verwaltet werden. Beide Datenquellen-Steuerelemente stellen Verbindungen zur selben Northwind-Datenbank dar. Sie verwenden die Verbindung zur SQL Server-Datenbank Northwind, die Sie zuvor in dieser exemplarischen Vorgehensweise erstellt haben, wieder.
Ein DetailsView-Steuerelement auf der Seite zum Anzeigen der Daten.
Im ersten Schritt wird die gespeicherte Prozedur erstellt.
So erstellen Sie eine gespeicherte Prozedur zur Rückgabe von Daten für die Anzeige im GridView-Steuerelement
Erweitern Sie im Server-Explorer unter Datenverbindungen die zuvor von Ihnen erstellte Datenverbindung. Wenn Sie Visual Web Developer Express Edition verwenden, verwenden Sie dazu den Datenbank-Explorer.
Klicken Sie mit der rechten Maustaste auf Gespeicherte Prozeduren, und klicken Sie dann auf Neue gespeicherte Prozedur hinzufügen.
Hinweis: Das Feature Neue gespeicherte Prozedur hinzufügen wird von Visual Web Developer 2005 Express Edition nicht unterstützt.
Fügen Sie der neuen gespeicherten Prozedur den folgenden Code hinzu. Dabei überschreiben Sie den dort vorhandenen Code.
CREATE PROCEDURE EmployeeSales @Employee int AS SELECT SUM([Order Subtotals].Subtotal) AS Total FROM Employees INNER JOIN Orders INNER JOIN [Order Subtotals] ON Orders.OrderID = [Order Subtotals].OrderID ON Employees.EmployeeID = Orders.EmployeeID WHERE (Employees.EmployeeID = @Employee)
Schließen Sie das Fenster, und klicken Sie auf Ja, um die gespeicherte Prozedur zu erstellen.
Hinweis: Das CREATE-Schlüsselwort ändert sich in ALTER, wenn die Prozedur gespeichert wurde.
Wenn Sie die gespeicherte Prozedur erstellt haben, um Daten bereitzustellen, benötigen Sie Folgendes:
Ein Datenquellen-Steuerelement auf der Seite, in dem die gespeicherte Prozedur ausgeführt und die Ergebnisse verwaltet werden.
Ein Steuerelement auf der Seite zum Anzeigen der Daten.
In der folgenden Prozedur zeigen Sie Daten in einem DetailsView-Steuerelement an. Das DetailsView-Steuerelement ruft seine Daten aus dem SqlDataSource-Steuerelement ab.
Sie können der Website diese Elemente separat hinzufügen. Es ist jedoch die einfachste Methode, mit einer Visualisierung der Datenanzeige über das DetailsView-Steuerelement zu beginnen und danach Assistenten zu verwenden, um die Verbindung und das Datenquellen-Steuerelement zu erstellen. In der folgenden Prozedur wird erklärt, wie Sie die Elemente erstellen können, die zum Anzeigen von Daten auf der Seite erforderlich sind.
Im nächsten Schritt wird die Zeilenauswahl für das GridView-Steuerelement aktiviert. Die ausgewählte Zeile bestimmt den EmployeeID-Parameter, der an die gespeicherte Prozedur übergeben wird.
So aktivieren Sie die Zeilenauswahl für ein GridView-Steuerelement
Klicken Sie mit der rechten Maustaste auf das GridView-Steuerelement, und klicken Sie dann auf Smarttag anzeigen.
Aktivieren Sie im Bereich GridView-AufgabenAuswahl aktivieren.
Im nächsten Schritt wird ein Steuerelement erstellt, um die Ergebnisse der gespeicherten Prozedur anzuzeigen.
So fügen Sie ein DetailsView-Steuerelement zum Anzeigen von Daten hinzu und konfigurieren es
Öffnen Sie die Seite Default.aspx, oder wechseln Sie zu dieser, und wechseln Sie dann in die Entwurfsansicht.
Ziehen Sie in der Toolbox aus der Gruppe Daten ein DetailsView-Steuerelement auf die Seite.
Klicken Sie im Menü DetailsView-Aufgaben in der Liste Datenquelle auswählen auf Neue Datenquelle.
Das Dialogfeld Assistent zum Konfigurieren von Datenquellen wird angezeigt.
Wählen Sie Datenbank aus, und klicken Sie dann auf OK.
Dadurch wird angegeben, dass Sie Daten aus einer SQL Server-Datenbank abrufen möchten.
Im Feld ID für Datenquelle angeben wird ein Standardname für ein Datenquellen-Steuerelement (SqlDataSource2) angezeigt. Behalten Sie diesen Namen bei.
Der Assistent Datenquelle konfigurieren - SqlDataSource2 zeigt eine Seite an, auf der Sie eine Verbindung auswählen können.
Geben Sie in der Liste Welche Datenverbindung soll die Anwendung für die Verbindung mit der Datenbank verwenden? die Verbindung ein, die Sie zuvor erstellt haben, und klicken Sie dann auf Weiter.
Wählen Sie die Option Benutzerdefinierte SQL-Anweisung oder gespeicherte Prozedur angeben aus, und klicken Sie dann auf Weiter.
Wählen Sie auf der Seite Benutzerdefinierte Anweisungen oder gespeicherte Prozeduren definieren die Option Gespeicherte Prozedur aus, und wählen Sie dann dann die zuvor erstellte gespeicherte Prozedur (EmployeeSales) aus.
Klicken Sie auf Next.
Die Seite Parameter definieren wird angezeigt.
Wählen Sie in der Liste ParameterquelleSteuerelement aus.
Wählen Sie in der Liste ControlIDGridView1 aus.
Klicken Sie auf Testabfrage, um sicherzustellen, dass Sie die von Ihnen gewünschten Daten abrufen. Geben Sie im Dialogfeld Parameterwerte-Editor den Wert 1 ein, und klicken Sie dann auf OK. Der Wert 1 ist die ID eines Mitarbeiters in der Datenbank. Wenn der Datenabruf ordnungsgemäß funktioniert, wird ein Wert wie z. B. 192107.6000 zurückgegeben. (Der Wert kann anders lauten, wenn Daten in der Datenbank geändert wurden.)
Klicken Sie auf Fertig stellen.
Testen der Seite
Sie können die Seite jetzt ausführen.
So testen Sie die Seite
Drücken Sie STRG+F5, um die Seite auszuführen.
Die Seite wird im Browser angezeigt. Im GridView-Steuerelement werden alle Datenzeilen aus der Tabelle Employees angezeigt.
Klicken Sie in einer Datenzeile im GridView-Steuerelement auf den Link Auswählen.
Ein DetailsView-Steuerelement zeigt Details der ausgewählten Zeile und die Ergebnisse der gespeicherten Prozedur an, um den Gesamtumsatz für den ausgewählten Mitarbeiter zu berechnen.
Schließen Sie den Browser.
Nächste Schritte
In dieser exemplarischen Vorgehensweise wurde veranschaulicht, wie Sie eine gespeicherte Prozedur in SQL Server zusammen mit einem Datenquellen-Steuerelement zum Anzeigen von Daten auf einer ASP.NET-Webseite verwenden können. Wenn Sie mit dem SqlDataSource-Steuerelement arbeiten, können Sie gespeicherte Prozeduren in etwa der gleichen Weise wie eine beliebige SQL-Anweisung verwenden. Zusätzlich können gespeicherte Prozeduren Parameter annehmen, die Werten auf der Webseite zugeordnet wurden. Sie können auch die folgenden Szenarien mit gespeicherten Prozeduren genauer betrachten, in denen datenbezogene Funktionen mit SQL-Anweisungen ausgeführt werden.
Exemplarische Vorgehensweise: Erstellen von Master-Detail-Webseiten in Visual Studio
Verwenden von Parametern mit dem SqlDataSource-Steuerelement
Siehe auch
Aufgaben
Gewusst wie: Sichern von Verbindungszeichenfolgen bei der Verwendung von Datenquellensteuerelementen
Exemplarische Vorgehensweise: Grundlegender Datenzugriff auf Webseiten