Exemplarische Vorgehensweise: Erstellen eines Windows Forms zum Suchen von Daten

 

Veröffentlicht: Juli 2016

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 Dialogfeld "Suchkriterien-Generator" können Sie jedem TableAdapter parametrisierte Abfragen hinzufügen (sowie Steuerelemente, die Parameterwerte annehmen und die Abfrage ausführen). Ö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:

Vorbereitungsmaßnahmen

Für die Durchführung dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:

Erstellen der Windows-Anwendung

Im ersten Schritt wird eine Windows-Anwendung erstellt. Zu diesem Zeitpunkt ist es nicht erforderlich, dem Projekt einen Namen zuzuweisen. Wir führen diesen Schritt dennoch aus, weil wir das Projekt später speichern möchten.

So erstellen Sie das neue Windows-Anwendungsprojekt

  1. Erstellen Sie über das Menü Datei ein neues Projekt.

  2. Weisen Sie dem Projekt den Namen WindowsSearchForm zu.

  3. Wählen Sie Windows-Anwendung aus, und klicken Sie auf OK. Weitere Informationen finden Sie unter Clientanwendungen.

    Das Projekt WindowsSearchForm wird erstellt und dem Projektmappen-Explorer hinzugefügt.

Erstellen der Datenquelle

Bei diesem Schritt wird eine Datenquelle aus einer Datenbank erstellt. Hierbei wird der Assistent zum Konfigurieren von Datenquellen verwendet. Sie benötigen Zugriff auf die Beispieldatenbank Northwind, um die Verbindung herstellen zu können. Informationen zum Einrichten der Beispieldatenbank Northwind finden Sie unter Gewusst wie: Installieren von Beispieldatenbanken.

So erstellen Sie die Datenquelle

  1. Klicken Sie im Menü Daten auf Datenquellen anzeigen.

  2. Wählen Sie im Datenquellenfenster die Option Neue Datenquelle hinzufügen aus, um den Assistenten zum Konfigurieren von Datenquellen zu starten.

  3. Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank aus, und klicken Sie auf Weiter.

  4. 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.

      - oder -

    • Wählen Sie Neue Verbindung, um das Dialogfeld Verbindung hinzufügen/ändern zu öffnen.

  5. Falls die Datenbank ein Kennwort erfordern sollte, aktivieren Sie die Option für die Einbeziehung vertraulicher Daten, und klicken Sie dann auf Weiter.

  6. Klicken Sie auf der Seite Verbindungszeichenfolge in der Programmkonfigurationsdatei speichern auf Weiter.

  7. Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.

  8. Wählen Sie die Tabelle Customers aus, und klicken Sie anschließend auf Fertig stellen.

    NorthwindDataSet wird dem Projekt hinzugefügt, und die Customers-Tabelle wird im Datenquellenfenster angezeigt.

Erstellen des Formulars

Sie können die datengebundenen Steuerelemente erstellen, indem Sie Elemente aus dem Datenquellenfenster auf das Formular ziehen.

So erstellen Sie datengebundene Steuerelemente auf dem Formular

  1. Erweitern Sie im Datenquellenfenster den Knoten Customers.

  2. 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 mithilfe von Dialogfeld "Suchkriterien-Generator" eine WHERE-Klausel hinzufügen.

So erstellen Sie eine parametrisierte Abfrage sowie Steuerelemente zur Eingabe der Parameter

  1. Wählen Sie das DataGridView-Steuerelement aus. Wählen Sie anschließend im Menü Daten die Option Abfrage hinzufügen aus.

  2. Geben Sie im Dialogfeld "Suchkriterien-Generator" im Bereich Neuer Abfragename die Zeichenfolge FillByCity ein.

  3. 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 OleDb-Datenquellen verwenden das Fragezeichen (?) zur Angabe von Parametern, sodass die WHERE-Klausel wie folgt aussieht: WHERE City = ?.

  4. 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.

So testen Sie die Anwendung

  1. Drücken Sie F5, um die Anwendung auszuführen.

  2. Geben Sie London in das Textfeld City ein, und klicken Sie dann auf FillByCity.

    Das Datenblatt wird mit den Kunden gefüllt, die die Parametrisierungskriterien erfüllen. In diesem Beispiel zeigt das Datenblatt 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:

Siehe auch

Exemplarische Vorgehensweisen zur Arbeit mit Daten
Binden von Windows Forms-Steuerelementen an Daten in Visual Studio
Übersicht über Datenquellen
Übersicht über TableAdapters
Übersicht über die BindingSource-Komponente
Übersicht über das BindingNavigator-Steuerelement