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.
Hinweis
Datasets und verwandte Klassen sind ältere .NET-Technologien aus den frühen 2000er Jahren, die es Anwendungen ermöglichen, mit Daten im Arbeitsspeicher zu arbeiten, während die Anwendungen von der Datenbank getrennt sind. Die Technologien sind besonders nützlich für Anwendungen, die es Benutzern ermöglichen, Daten zu ändern und die Änderungen wieder in der Datenbank zu speichern. Obwohl sich Datasets als sehr erfolgreiche Technologie erwiesen haben, empfehlen wir, dass neue .NET-Anwendungen Entity Framework Core verwenden. Entity Framework bietet eine natürlichere Möglichkeit, mit tabellarischen Daten als Objektmodelle zu arbeiten, und verfügt über eine einfachere Programmierschnittstelle.
Es kommt häufig vor, dass ausgewählte Daten auf einem Formular angezeigt werden, Angenommen, Sie möchten die Bestellungen für einen bestimmten Kunden oder die Details für eine bestimmte Bestellung anzeigen. In diesem Szenario gibt der Benutzer zunächst Informationen in ein Formular ein. Anschließend wird eine Abfrage mit der Eingabe des Benutzers als Parameter ausgeführt, d. h. die Daten werden auf der Grundlage einer parametrisierten Abfrage ausgewählt. Die Abfrage gibt nur die Daten zurück, die den vom Benutzer eingegebenen Kriterien entsprechen. Diese exemplarische Vorgehensweise veranschaulicht das Erstellen einer Abfrage, die Kunden in einer bestimmten Stadt zurückgibt, sowie das Anpassen der Benutzeroberfläche, damit Benutzer eine Stadt eingeben und zum Ausführen der Abfrage auf eine Schaltfläche klicken können.
Durch die Verwendung parametrisierter Abfragen wird die Effizienz der Anwendung erhöht, weil die Datenbank die Arbeit ausführt, für die sie optimiert ist, nämlich die schnelle Filterung von Datensätzen. Wenn Sie dagegen eine ganze Datenbanktabelle anfordern, sie über das Netzwerk übertragen und dann mit der Anwendungslogik die gewünschten Datensätze suchen, wird die Anwendung langsam und ineffizient.
Mit dem Dialogfeld Suchkriterien-Generator können Sie jedem TableAdapter parametrisierte Abfragen (sowie Steuerelemente, die Parameterwerte annehmen und die Abfrage ausführen) hinzufügen. Öffnen Sie das Dialogfeld, indem Sie im Menü Daten (bzw. in einem TableAdapter-Smarttag) den Befehl Abfrage hinzufügen auswählen.
In dieser exemplarischen Vorgehensweise werden u. a. folgende Aufgaben veranschaulicht:
Erstellen und Konfigurieren der Datenquelle in Ihrer Anwendung mit dem Assistenten zum Konfigurieren von Datenquellen.
Festlegen des Ablagetyps für die Elemente im Fenster Datenquelle.
Erstellen von Steuerelementen, mit denen Daten angezeigt werden, indem Elemente aus dem Datenquellenfenster auf ein Formular gezogen werden.
Hinzufügen von Steuerelementen zum Anzeigen der Daten auf dem Formular.
Ausfüllen des Dialogfelds Suchkriterien-Generator.
Eingeben von Parametern in das Formular und Ausführen der parametrisierten Abfrage.
Hinweis
Die Verfahren in diesem Artikel gelten nur für .NET Framework-Windows Forms-Projekte, nicht für .NET Core Windows Forms-Projekte.
Voraussetzungen
Sie müssen die Workload Datenspeicherung und -verarbeitung installiert haben. Weitere Informationen finden Sie im Artikel Ändern von Visual Studio durch Hinzufügen oder Entfernen von Arbeitsauslastungen und Komponenten.
In dieser exemplarischen Vorgehensweise werden SQL Server Express LocalDB und die Northwind-Beispieldatenbank verwendet.
Wenn Sie nicht über SQL Server Express LocalDB verfügen, installieren Sie diese Komponente entweder über die SQL Server Express-Downloadseite oder über den Visual Studio-Installer. Im Visual Studio-Installer können Sie SQL Server Express LocalDB als Teil der Workload Datenspeicherung und -verarbeitung oder als einzelne Komponente installieren.
Installieren Sie die Northwind-Beispieldatenbank, indem Sie die folgenden Schritte ausführen:
Öffnen Sie in Visual Studio das Fenster SQL Server-Objekt-Explorer. (Der SQL Server-Objekt-Explorer wird als Teil der Workload für die Datenspeicherung und -verarbeitung im Visual Studio-Installer installiert.) Erweitern Sie den Knoten SQL Server. Klicken Sie mit der rechten Maustaste auf Ihre LocalDB-Instanz, und wählen Sie Neue Abfrage aus.
Ein Abfrage-Editor-Fenster wird geöffnet.
Kopieren Sie das Northwind-Transact-SQL-Skript in die Zwischenablage. Dieses T-SQL-Skript erstellt die Northwind-Datenbank von Grund auf neu und füllt sie mit Daten auf.
Fügen Sie das T-SQL-Skript in den Abfrage-Editor ein, und klicken Sie dann auf die Schaltfläche Ausführen.
Nach kurzer Zeit wird die Ausführung der Abfrage abgeschlossen, und die Northwind-Datenbank wird erstellt.
Erstellen der Windows Forms-Anwendung
Erstellen Sie ein neues Windows Forms App (.NET Framework)-Projekt für C# oder Visual Basic. Weisen Sie dem Projekt den Namen WindowsSearchForm zu.
Erstellen Sie die Datenquelle.
Bei diesem Schritt wird eine Datenquelle aus einer Datenbank erstellt. Hierbei wird der Assistent zum Konfigurieren von Datenquellen verwendet:
Verwenden Sie zum Öffnen des Fensters Datenquellen die Schnellsuche (STRG+Q), und suchen Sie nach Datenquellen.
Klicken Sie im Datenquellenfenster auf Neue Datenquelle hinzufügen, um den Assistenten zum Konfigurieren von Datenquellen zu starten.
Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank und dann Weiter aus.
Wählen Sie auf der Seite Datenbankmodell auswählen die Option DataSet aus, und wählen Sie dann Weiter aus.
Führen Sie auf der Seite Wählen Sie Ihre Datenverbindung einen der folgenden Schritte aus:
Wenn in der Dropdownliste eine Datenverbindung zur Beispieldatenbank „Northwind“ verfügbar ist, wählen Sie diese aus.
Klicken Sie auf Neue Verbindung, um das Dialogfeld Add/Modify Connection (Verbindung hinzufügen/ändern) zu öffnen.
Klicken Sie auf der Seite Save connection string to the Application Configuration file (Verbindungszeichenfolge in der Programmkonfigurationsdatei speichern) auf Weiter.
Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.
Wählen Sie die Tabelle Customers aus, und wählen Sie anschließend Fertig stellen aus.
NorthwindDataSet wird dem Projekt hinzugefügt, und die Customers-Tabelle wird im Datenquellenfenster angezeigt.
Erstellen eines Formulars
Sie können die datengebundenen Steuerelemente erstellen, indem Sie Elemente aus dem Datenquellenfenster auf das Formular ziehen:
Stellen Sie sicher, dass der Windows Forms-Designer den aktiven Fokus hat und dass das Fenster Datenquellen geöffnet und angeheftet ist.
Erweitern Sie im Datenquellenfenster den Knoten Customers.
Ziehen Sie den Knoten Customers aus dem Datenquellenfenster auf das Formular.
Auf dem Formular werden DataGridView und ein ToolStrip-Element (BindingNavigator) angezeigt, mit denen Sie durch die Datensätze auf dem Formular navigieren können. NorthwindDataSet, CustomersTableAdapter, BindingSource und BindingNavigator werden auf der Komponentenleiste angezeigt.
Hinzufügen von Parametrisierung (Suchfunktionen) zur Abfrage
Sie können der ursprünglichen Abfrage im Dialogfeld Suchkriterien-Generator eine WHERE
-Klausel hinzufügen:
Wählen Sie direkt unterhalb der Entwurfsoberfläche für Ihr Formular die Schaltfläche customersTableAdapter aus, und wählen Sie dann im Fenster Eigenschaften die Option Abfrage hinzufügen... aus.
Geben Sie im Dialogfeld Suchkriterien-Generator im Bereich Neuer Abfragename die Zeichenfolge FillByCity ein.
Fügen Sie der Abfrage im Bereich Abfragetext die Zeichenfolge
WHERE City = @City
hinzu.Die Abfrage müsste ungefähr wie folgt aussehen:
SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE City = @City
Hinweis
Access- und OLE DB-Datenquellen verwenden das Fragezeichen (?) zur Angabe von Parametern, sodass die
WHERE
-Klausel wie folgt aussieht:WHERE City = ?
.Klicken Sie auf OK, um das Dialogfeld Suchkriterien-Generator zu schließen.
Dem Formular wird ein FillByCityToolStrip hinzugefügt.
Testen der Anwendung
Beim Ausführen der Anwendung wird das Formular geöffnet, das zur Übernahme der Parametereingabe bereit ist:
Drücken Sie F5, um die Anwendung auszuführen.
Geben Sie London in das Textfeld City ein, und wählen Sie dann FillByCity aus.
Das Datenraster wird mit Kunden gefüllt, die den Kriterien entsprechen. In diesem Beispiel zeigt das Datenraster nur Kunden an, die den Wert London in der Spalte City aufweisen.
Nächste Schritte
Je nach den Anforderungen der Anwendung können nach dem Erstellen eines parametrisierten Formulars weitere Schritte sinnvoll sein. Sie können an dieser exemplarischen Vorgehensweise beispielsweise folgende Verbesserungen vornehmen:
Hinzufügen von Steuerelementen, die verknüpfte Daten anzeigen. Weitere Informationen finden Sie weiter unter Beziehungen zwischen Datasets.
Hinzufügen oder Entfernen von Datenbankobjekten aus dem Dataset durch Bearbeiten. Weitere Informationen finden Sie unter Erstellen und Konfigurieren von Datasets in Visual Studio.