Freigeben über


Exemplarische Vorgehensweise: Anzeigen von Daten in einer Web Forms-Seite mit Hilfe von Visual J#

Web Forms-Seiten bieten Ihnen eine Vielzahl von Möglichkeiten zum Bearbeiten von Daten. Diese exemplarische Vorgehensweise veranschaulicht die einfachste Möglichkeit.

In der exemplarischen Vorgehensweise zeigen Sie Informationen aus der Tabelle Northwind Categories in einem Datenraster auf der Seite an. Sie erstellen ein Dataset (einen Datencache im Speicher), in das Sie die Informationen aus der Datenbank einlesen. Dann binden Sie ein DataGrid-Webserversteuerelement an das Dataset, um die Daten anzuzeigen.

Hinweis   Die Verwendung eines Datasets ist nur eine von mehreren Möglichkeiten für den Datenzugriff in Web Forms und in manchen Szenarios nicht optimal. In dieser exemplarischen Vorgehensweise wird der Einfachheit halber ein Dataset verwendet. Weitere Informationen finden Sie unter Empfehlungen zur Zugriffsstrategie auf Webdaten.

Um die exemplarische Vorgehensweise nachzuvollziehen, benötigen Sie:

  • Zugriff auf einen Server mit der SQL Server-Beispieldatenbank Northwind.
  • Die erforderlichen Berechtigungen zum Erstellen von ASP.NET-Webanwendungsprojekten auf dem Computer, auf dem der Webserver installiert ist.

Die exemplarische Vorgehensweise ist in kleinere Einheiten gegliedert:

  • Erstellen des Webanwendungsprojekts und einer Web Forms-Seite.
  • Erstellen und Konfigurieren des Datasets, an das das Datenblatt gebunden wird. Dies beinhaltet die Erstellung einer Abfrage, mit deren Hilfe das Dataset aus der Datenbank gefüllt wird.
  • Hinzufügen des DataGrid-Steuerelements zum Formular und Binden an Daten.
  • Hinzufügen von Code, um das Dataset aufzufüllen.

Erstellen von Projekt und Formular

Der erste Schritt besteht darin, eine Webanwendung und eine Web Forms-Seite zu erstellen.

So erstellen Sie das Projekt und das Formular

  1. Zeigen Sie im Menü Datei auf Neu, und klicken Sie anschließend auf Projekt.
  2. Führen Sie im Dialogfeld Neues Projekt Folgendes aus:
    1. Wählen Sie im Bereich Projekttypen die Option Visual J#-Projekte.

    2. Klicken Sie im Bereich Vorlagen auf ASP.NET-Webanwendung.

    3. Geben Sie im Feld Speicherort den vollständigen URL der Anwendung einschließlich der Zeichenfolge http:// an, sowie den Namen des Servers und des Projekts. Auf dem Webserver muss IIS Version 5 oder höher sowie .NET Framework installiert sein. Wenn auf dem Computer IIS installiert ist, können Sie https://localhost als Server angeben.

      Wenn Sie auf OK klicken, wird im Stammverzeichnis des angegebenen Webservers ein neues Web Forms-Projekt erstellt. Zusätzlich wird im Web Forms-Designer in der Entwurfsansicht eine neue Web Forms-Seite mit der Bezeichnung WebForm1.aspx angezeigt.

      Tipp   Bei Problemen mit der Erstellung eines Webanwendungsprojekts finden Sie weitere Informationen unter Dialogfeld "Webzugriffsfehler".

Erstellen und Konfigurieren eines Datasets

In dieser exemplarischen Vorgehensweise fügen Sie der Seite ein Dataset hinzu. Das Dataset enthält nur die Tabelle Categories. (Ein Dataset kann mehrere Tabellen enthalten. In dieser exemplarischen Vorgehensweise enthält das Dataset aber nur eine Tabelle.)

Das Dataset ist noch nicht vorhanden. Anstatt es dem Formular manuell hinzuzufügen, führen Sie die folgenden Schritte aus:

  • Erstellen Sie mit Hilfe eines Assistenten einen Datenadapter. Der Adapter enthält SQL-Anweisungen zum Lesen und Schreiben von Datenbankinformationen. Mit dem Assistenten können Sie die erforderlichen SQL-Anweisungen festlegen. Gegebenenfalls erstellt der Assistent auch eine Verbindung zur Datenbank.
  • Generieren Sie das Dataset-Schema. Bei diesem Verfahren erstellt Visual Studio eine neue Dataset-Klasse, basierend auf den Tabellen und Spalten, auf die Sie zugreifen. Beim Generieren der Dataset-Klasse fügen Sie auch eine Instanz der Klasse zum Formular hinzu.

Es ist wichtig, dass Sie alle Verfahren in diesem Abschnitt ausführen. Andernfalls verfügt die Seite nicht über das Dataset, das Sie im weiteren Verlauf der exemplarischen Vorgehensweise verwenden.

Weitere Informationen über Datenadapter finden Sie unter Einführung in Datenadapter. Weitere Informationen über Datasets finden Sie unter Einführung in Datasets.

Konfigurieren einer Datenverbindung und eines Datenadapters

Erstellen Sie zu Beginn einen Datenadapter, der die SQL-Anweisung zum nachfolgenden Auffüllen des Datasets enthält. Dabei legen Sie auch eine Verbindung für den Zugriff auf die Datenbank fest. Sie konfigurieren den Datenadapter mit einem Assistenten, wodurch das Erstellen der für den Datenzugriff erforderlichen SQL-Anweisungen vereinfacht wird.

Hinweis   Wenn der Assistent fertig ist, müssen Sie mit dem nächsten Abschnitt fortfahren, um ein Dataset zu generieren und den Formularteil für den Datenzugriff zu vervollständigen.

So erstellen Sie die Datenverbindung und den Datenadapter

  1. Ziehen Sie in der Toolbox von der Registerkarte Daten ein OleDbDataAdapter-Objekt auf das Formular.

    Hinweis   Sie können auch das SqlDataAdapter-Objekt verwenden, das für SQL Server 7.0 oder höher optimiert ist. In dieser exemplarischen Vorgehensweise verwenden Sie OleDbDataAdapter, da dieses Objekt generischer ist und ADO.NET-Zugriff auf alle OLE DB-kompatiblen Datenquellen bietet.

    Der Datenadapter-Konfigurations-Assistent wird gestartet. Er bietet Unterstützung sowohl beim Herstellen der Verbindung als auch beim Erstellen des Adapters.

  2. Verfahren Sie im Assistenten wie folgt:

    1. Erstellen oder wählen Sie auf der zweiten Seite eine Verbindung aus, die auf die SQL Server-Datenbank Northwind zeigt.

      Hinweis   Sie müssen über die erforderlichen Lese-/Schreibberechtigungen für den verwendeten SQL Server verfügen. Es wird empfohlen, dass Sie beim Erstellen von Verbindungen die integrierte Sicherheit von Windows angeben. Sie können stattdessen auch einen Benutzernamen und ein Kennwort angeben und diese Informationen mit der Verbindung speichern. Allerdings kann dieses Verfahren die Sicherheit beeinträchtigen. Weitere Informationen finden Sie unter Zugreifen auf SQL Server von einer Webanwendung aus.

    2. Legen Sie auf der dritten Seite fest, dass für den Datenbankzugriff eine SQL-Anweisung verwendet werden soll.

    3. Erstellen Sie auf der vierten Seite die folgende SQL-Anweisung:

      SELECT CategoryID, CategoryName, Description
      FROM Categories
      

      Wenn Sie beim Erstellen der SQL-Anweisung Hilfe benötigen, klicken Sie auf Abfrage-Generator, um das Dialogfeld Abfrage-Generator zu öffnen.

      Hinweis   In dieser exemplarischen Vorgehensweise füllen Sie das Dataset mit allen Zeilen aus der Tabelle Categories auf. In Produktionsanwendungen optimieren Sie den Datenzugriff in der Regel dadurch, dass Sie eine Abfrage erstellen, die nur die erforderlichen Spalten und Zeilen zurückgibt. Ein Beispiel finden Sie unter Exemplarische Vorgehensweise: Anzeigen von Daten in Windows Forms mit Hilfe von parametrisierten Abfragen unter Verwendung von Visual J#.

    4. Klicken Sie auf Fertig stellen.

      Der Assistent erstellt eine Verbindung (OleDbConnection1) mit Informationen über den Zugriff auf die Datenbank. Außerdem verfügen Sie über einen Datenadapter (OleDbDataAdapter1) mit einer Abfrage, die festlegt, auf welche Tabelle und Spalten in der Datenbank zugegriffen werden soll.

  3. Wenn der Assistent fertig ist, erstellen Sie das Dataset basierend auf der vorher erstellten SQL-Abfrage. Weitere Informationen finden Sie im nächsten Abschnitt.

    Hinweis   Weitere Informationen erhalten Sie, wenn Sie beim Ausführen des Assistenten auf Hilfe klicken, oder unter Datenadapter-Konfigurations-Assistent. Weitere Informationen über Datenadapter finden Sie unter Einführung in Datenadapter.

Erstellen des Datasets

Nach dem Erstellen der Elemente für die Verbindung zur Datenbank und der Definition der gewünschten Informationen (über den SQL-Befehl im Datenadapter) können Sie von Visual Studio ein Dataset erstellen lassen. Visual Studio kann das Dataset auf der Grundlage der für den Datenadapter angegebenen Abfrage automatisch generieren. Das Dataset ist eine Instanz der auf einem entsprechenden Schema (XSD-Datei) basierenden DataSet-Klasse zur Beschreibung der Elemente der Klasse (Tabelle, Spalten und Einschränkungen). Weitere Informationen über die Beziehung zwischen Datasets und Schemas finden Sie unter Einführung in den Datenzugriff mit ADO.NET.

So generieren Sie ein Dataset

  1. Wählen Sie im Menü Daten die Option DataSet generieren.

    Tipp   Klicken Sie auf das Formular, wenn das Menü Daten nicht angezeigt wird. Das Formular muss den Fokus haben, wenn das Menü angezeigt werden soll.

    Das Dialogfeld DataSet generieren wird angezeigt.

  2. Wählen Sie die Option Neu aus, und geben Sie dem Dataset den Namen dsCategories.

    Markieren Sie in der Liste unter Wählen Sie die Tabelle(n) aus, die zum Dataset hinzugefügt werden soll(en) die Tabelle Categories.

  3. Aktivieren Sie Dataset zu Designer hinzufügen, und klicken Sie auf OK.

    Visual Studio generiert eine typisierte Dataset-Klasse (dsCategories) und ein Schema zur Definition des Datasets. Das neue Schema (dsCategories.xsd) wird im Projektmappen-Explorer angezeigt.

    Tipp   Klicken Sie im Projektmappen-Explorer auf die Symbolleisten-Schaltfläche Alle Dateien anzeigen, um die abhängige JSL-Datei der Schemadatei anzuzeigen, die den Code zur Definition der neuen Dataset-Klasse enthält.

    Schließlich fügt Visual Studio dem Formular eine Instanz der neuen Dataset-Klasse (DsCategories1) hinzu.

Sie haben nun alle Vorkehrungen getroffen, um Informationen aus einer Datenbank abzurufen und einem Dataset hinzuzufügen.

Hinzufügen eines DataGrid zum Anzeigen von Daten

In dieser exemplarischen Vorgehensweise verwenden Sie ein DataGrid-Webserversteuerelement, um Informationen aus der Tabelle Categories anzuzeigen. Mit einem DataList-Steuerelement oder Repeater-Steuerelement können Sie dieselben Ergebnisse erzielen. Allerdings ist DataGrid das am einfachsten zu konfigurierende Steuerelement (z. B. müssen Sie hierfür keine Vorlagen erstellen), so dass Sie sich in dieser exemplarischen Vorgehensweise ganz auf die Datenaspekte konzentrieren können.

So fügen Sie ein Steuerelement hinzu und konfigurieren es

  1. Ziehen Sie in der Toolbox von der Registerkarte Web Forms ein DataGrid-Steuerelement auf die Seite.

  2. Klicken Sie im Eigenschaftenfenster unten auf die Verknüpfung AutoFormat, und wählen Sie ein vordefiniertes Format für das Datenblatt aus.

  3. Wählen Sie in der DataSource-Eigenschaft DsCategories1 als Datenquelle aus. Dies bindet das Datenblatt als Ganzes an das Dataset.

  4. Wählen Sie in der DataMember-Eigenschaft categories aus. Wenn eine Datenquelle mehrere bindungsfähige Objekte enthält, können Sie mit Hilfe der DataMember-Eigenschaft angeben, welches Objekt gebunden werden soll.

    Durch das Festlegen dieser beiden Eigenschaften wird die Datentabelle Categories im Dataset DsCategories1 an das Datenblatt gebunden.

Auffüllen des Datasets und Anzeigen der Daten im DataGrid-Steuerelement

Obwohl das Datenblatt an das von Ihnen erstellte Dataset gebunden ist, wird das Dataset nicht automatisch aufgefüllt. Sie müssen vielmehr selbst das Dataset füllen, indem Sie eine Datenadaptermethode aufrufen. Weitere Informationen über das Auffüllen von Datasets finden Sie unter Einführung in Datasets.

Sogar nach dem Auffüllen des Datasets werden die Daten nicht automatisch im DataGrid-Steuerelement angezeigt. Sie müssen das Datenblatt explizit an dessen Datenquelle binden. Weitere Informationen finden Sie unter Einführung in die Datenbindung in Web Forms-Seiten.

So füllen Sie das Dataset auf und zeigen die Daten im DataGrid-Steuerelement an

  1. Doppelklicken Sie auf die Seite, um im Code-Editor die Seitenklassendatei anzuzeigen.

  2. Rufen Sie im Page_Load-Ereignishandler die Fill-Methode des Datenadapters auf, wobei Sie das aufzufüllende Dataset übergeben:

    // Visual J#
    oleDbDataAdapter1.Fill(DsCategories1);
    
  3. Rufen Sie die DataBind-Methode des DataGrid-Steuerelements auf, um das Steuerelement an das Dataset zu binden.

    Sie müssen das Dataset weder neu auffüllen noch das Datenblatt bei jeder Schleife neu binden. Nachdem das DataGrid-Steuerelement mit Daten aufgefüllt wurde, werden dessen Werte im Anzeigestatus bei jedem Senden der Seite beibehalten. Daher müssen Sie nur beim ersten Aufruf der Seite das Dataset auffüllen und das Datenblatt binden. Sie können dieses Verhalten mit der Page.IsPostBack-Eigenschaft der Seite testen.

    Der vollständige Handler sieht folgendermaßen aus:

    // Visual J#
    private void Page_Load(Object sender, System.EventArgs e)
    {
       // Put user code to initialize the page here
       if ( !get_IsPostBack())
       {
          oleDbDataAdapter1.Fill(dsCategories1);
          DataGrid1.DataBind();
          oleDbConnection1.Close();
       }
    }
    

Testen

Nachdem Sie den Code hinzugefügt haben, testen Sie den Datenzugriff in der Web Forms-Seite.

So testen Sie die Web Forms-Seite

  1. Speichern Sie die Seite.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Seite, und wählen Sie In Browser anzeigen.

    Bestätigen Sie, dass im Datenblatt die Liste Categories angezeigt wird.

Nächste Schritte

  • Formatieren des Datenblattes durch Ändern von Farbe, Schriftart usw.
  • Nur Anzeigen ausgewählter Informationen im Datenblatt. In vielen Fällen gründen Sie die Anzeige auf Informationen, die der Benutzer zur Laufzeit zur Verfügung stellt (z. B. beim Anzeigen von Autoren nur aus einem bestimmten Ort). Erstellen Sie dazu eine parametrisierte Abfrage. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Anzeigen von Daten in Windows Forms mit Hilfe von parametrisierten Abfragen unter Verwendung von Visual J#.
  • Verwenden eines Datenlesers anstelle eines Datasets als Datenquelle für das Datenblatt. Auf einer Seite wie dieser, deren Daten schreibgeschützt sind, ist es oft effizienter die Daten direkt aus der Datenbank abzurufen, anstatt zuerst ein Dataset zu erstellen und aufzufüllen. Ein Beispiel dazu finden Sie unter Exemplarische Vorgehensweise: Erstellen von schreibgeschütztem Datenzugiff in einer Web Forms-Seite mit Hilfe von Visual J#.
  • Trennen des Datenzugriffs von der Benutzeroberfläche. In dieser exemplarischen Vorgehensweise haben Sie ein Formular erstellt, das mehr oder weniger direkt (über das Dataset) auf die Daten zugreift. Ein flexibleres und einfacher zu verwaltendes Design ist das Erstellen einer Datenzugriffskomponente, die den Datenzugriff behandelt. Das Formular, also die Benutzeroberfläche, könnte dann gegebenenfalls mit der Komponente interagieren. Die gleiche Komponente könnte von mehreren Formularen (und anderen Komponenten) verwendet werden, wodurch der zusätzliche Aufwand für das Neuentwerfen des Datenzugriffs für jedes erstellte Formular entfällt. Weitere Informationen über das Erstellen komponentenbasierten Datenzugriffs finden Sie unter Exemplarische Vorgehensweise: Erstellen einer verteilten Anwendung mit Hilfe von Visual J#.

Siehe auch

Datenzugriff in Web Forms-Seiten | Einführung in Datasets | Exemplarische Vorgehensweisen für Web Forms