Freigeben über


Speichern von Daten mit den TableAdapter DBDirect-Methoden in .NET Framework-Anwendungen

Hinweis

Die DataSet Klassen und verwandten Klassen sind ältere .NET Framework-Technologien aus den frühen 2000er Jahren, mit denen Anwendungen mit Daten im Arbeitsspeicher arbeiten können, während die Apps von der Datenbank getrennt sind. Die Technologien sind besonders nützlich für Apps, mit denen Benutzer Daten ändern und die Änderungen wieder in der Datenbank speichern können. Obwohl Datasets eine bewährte erfolgreiche Technologie sind, ist der empfohlene Ansatz für neue .NET-Anwendungen die Verwendung von Entity Framework Core. Entity Framework bietet eine natürlichere Möglichkeit zum Arbeiten mit tabellarischen Daten als Objektmodelle und verfügt über eine einfachere Programmierschnittstelle.

Dieses Lernprogramm enthält detaillierte Anweisungen zum direkten Ausführen von SQL-Anweisungen für eine Datenbank mithilfe der DBDirect-Methoden eines TableAdapter. Die DBDirect-Methoden eines "TableAdapter" bieten eine präzise Kontrolle über die Datenbankaktualisierungen. Sie können sie verwenden, um bestimmte SQL-Anweisungen und gespeicherte Prozeduren auszuführen, indem Sie die einzelnen Insert, Updateund Delete Methoden nach Bedarf von Ihrer Anwendung aufrufen (im Gegensatz zu der überladenen Methode, die die UPDATEalle in einem Aufruf ausgeführten Update , INSERTund DELETE Anweisungen ausführt).

In diesem Lernprogramm erfahren Sie, wie Sie:

Voraussetzungen

Die Schritte in diesem Lernprogramm arbeiten mit .NET Framework Windows Forms-Anwendungen.

In diesem Lernprogramm wird SQL Server Express LocalDB und die Northwind-Beispieldatenbank verwendet.

  1. Wenn Sie nicht über SQL Server Express LocalDB verfügen, installieren Sie sie entweder über die SQL Server Express-Downloadseite oder über das Visual Studio-Installationsprogramm. Im Visual Studio Installerkönnen Sie SQL Server Express LocalDB als Teil der Datenspeicher und Verarbeitung Workload oder als einzelne Komponente installieren.

  2. Installieren Sie die Northwind-Beispieldatenbank, indem Sie die folgenden Schritte ausführen:

    1. Öffnen Sie in Visual Studio das fenster SQL Server-Objekt-Explorer. (SQL Server-Objekt-Explorer wird als Teil der Datenspeicherungs- und Verarbeitungsauslastung im Visual Studio Installer installiert.) Erweitern Sie den SQL Server-Knoten . Klicken Sie mit der rechten Maustaste auf Ihre LocalDB-Instanz, und wählen Sie neue Abfrageaus.

      Ein Abfrage-Editor-Fenster wird geöffnet.

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

    3. Fügen Sie das T-SQL-Skript in den Abfrage-Editor ein, und wählen Sie dann die Schaltfläche Ausführen aus.

      Nach kurzer Zeit wird die Ausführung der Abfrage abgeschlossen, und die Northwind-Datenbank wird erstellt.

Erstellen einer Windows Forms-Anwendung

Der erste Schritt besteht darin, eine Windows Forms-App (.NET Framework) zu erstellen. Erstellen Sie ein Projekt mit dem Windows Forms App-Projekttyp mit C# oder Visual Basic.

Hinweis

Der Code für dieses Lernprogramm ist in C# und Visual Basic verfügbar. Um die Codesprache auf dieser Seite zwischen C# und Visual Basic zu wechseln, verwenden Sie den Codesprachenwechsel oben auf der Seite auf der rechten Seite.

Erstellen Sie eine Datenquelle aus Ihrer Datenbank

In diesem Schritt wird der Datenquellenkonfigurations-Assistent verwendet, um eine Datenquelle basierend auf der Region Tabelle in der Northwind-Beispieldatenbank zu erstellen. Sie müssen Zugriff auf die Northwind-Beispieldatenbank haben, um die Verbindung zu erstellen. Informationen zum Einrichten der Northwind-Beispieldatenbank finden Sie unter How to: Install sample databases.

So erstellen Sie die Datenquelle

  1. Wählen Sie im Menü "Daten " die Option "Datenquellen anzeigen" aus.

    Das Fenster "Datenquellen " wird geöffnet.

  2. Wählen Sie im Fenster "Datenquellen " die Option "Neue Datenquelle hinzufügen " aus, um den Assistenten für die Datenquellenkonfiguration zu starten.

  3. Wählen Sie auf dem Bildschirm " Datenquellentyp auswählen " die Option "Datenbank" und dann "Weiter" aus.

  4. Führen Sie auf dem Bildschirm " Datenverbindung auswählen " eine der folgenden Aktionen aus:

    • Wenn eine Datenverbindung mit der Northwind-Beispieldatenbank in der Dropdownliste verfügbar ist, wählen Sie sie aus.

      -oder-

    • Wählen Sie "Neue Verbindung" aus, um das Dialogfeld "Verbindung hinzufügen/ändern " zu starten.

  5. Wenn Ihre Datenbank ein Kennwort erfordert, wählen Sie die Option aus, vertrauliche Daten einzuschließen, und wählen Sie dann "Weiter" aus.

  6. Wählen Sie auf dem Bildschirm 'Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern' die Option 'Weiter' aus.

  7. Erweitern Sie auf dem Bildschirm "Datenbankobjekte auswählen " den Knoten "Tabellen ".

  8. Wählen Sie die Region Tabelle und dann "Fertig stellen" aus.

    Das NorthwindDataSet wird ihrem Projekt hinzugefügt, und die Region Tabelle wird im Fenster "Datenquellen " angezeigt.

Hinzufügen von Steuerelementen zum Formular zum Anzeigen der Daten

Erstellen Sie die datengebundenen Steuerelemente, indem Sie Elemente aus dem Datenquellenfenster auf Ihr Formular ziehen.

Um datengebundene Steuerelemente im Windows-Formular zu erstellen, ziehen Sie den Hauptknoten "Region " aus dem Fenster " Datenquellen " auf das Formular.

Ein DataGridView Steuerelement und eine Toolleiste (BindingNavigator) für die Navigation in Datensätzen werden im Formular angezeigt. Ein NorthwindDataSet, RegionTableAdapter, BindingSource und BindingNavigator werden im Komponentenbereich angezeigt.

So fügen Sie Schaltflächen hinzu, die die einzelnen TableAdapter DbDirect-Methoden aufrufen

  1. Ziehen Sie drei Button Steuerelemente aus der Toolbox auf Form1 (unterhalb der RegionDataGridView).

  2. Legen Sie die folgenden Eigenschaften "Name " und "Text " für jede Schaltfläche fest.

    Name Text
    InsertButton Einfügen
    UpdateButton Aktualisieren
    DeleteButton Löschen

So fügen Sie Code hinzu, um neue Datensätze in die Datenbank einzufügen

  1. Wählen Sie InsertButton aus, um einen Ereignishandler für das Click-Ereignis zu erstellen und das Formular im Code-Editor zu öffnen.

  2. Ersetzen Sie den InsertButton_Click Ereignishandler durch den folgenden Code:

    private void InsertButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        String newRegionDescription = "NorthEastern";
    
        try
        {
            regionTableAdapter1.Insert(newRegionID, newRegionDescription);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Insert Failed");
        }
        RefreshDataset();
    }
    
    
    private void RefreshDataset()
    {
        this.regionTableAdapter1.Fill(this.northwindDataSet1.Region);
    }
    

    Hinweis

    Je nach Ihrer Visual Studio-Version und den verwendeten Projektvorlagen weisen die Variablennamen wie regionTableAdapter oder regionTableAdapter1, die in diesem Code verwendet werden, möglicherweise eine nachstehende 1 im generierten Code auf. Nehmen Sie alle Korrekturen in Ihrem Code vor, um sicherzustellen, dass der richtige Name überall verwendet wird. Visual Studio zeigt eine rote Wellenlinie an, wenn der Name falsch ist.

So fügen Sie Code zum Aktualisieren von Datensätzen in der Datenbank hinzu

  1. Doppelklicken Sie auf das UpdateButton-Element , um einen Ereignishandler für das Click-Ereignis zu erstellen und das Formular im Code-Editor zu öffnen.

  2. Ersetzen Sie den UpdateButton_Click Ereignishandler durch den folgenden Code:

    private void UpdateButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        
        try
        {
            regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Update Failed");
        }
        RefreshDataset();
    }
    

So fügen Sie Code zum Löschen von Datensätzen aus der Datenbank hinzu

  1. Wählen Sie DeleteButton aus, um einen Ereignishandler für das Click-Ereignis zu erstellen und das Formular im Code-Editor zu öffnen.

  2. Ersetzen Sie den DeleteButton_Click Ereignishandler durch den folgenden Code:

    private void DeleteButton_Click(object sender, EventArgs e)
    {
        try
        {
            regionTableAdapter1.Delete(5, "Updated Region Description");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Delete Failed");
        }
        RefreshDataset();
    }
    

Ausführen der Anwendung

  • Wählen Sie F5 aus, um die Anwendung auszuführen.

  • Wählen Sie die Schaltfläche "Einfügen " aus, und stellen Sie sicher, dass der neue Datensatz im Raster angezeigt wird.

  • Wählen Sie die Schaltfläche " Aktualisieren " aus, und stellen Sie sicher, dass der Datensatz im Raster aktualisiert wird.

  • Wählen Sie die Schaltfläche "Löschen " aus, und stellen Sie sicher, dass der Datensatz aus dem Raster entfernt wird.

Nächste Schritte

Je nach Anwendungsanforderungen gibt es mehrere Schritte, die Sie nach dem Erstellen eines datengebundenen Formulars ausführen möchten. Einige Verbesserungen, die Sie an diesem Lernprogramm vornehmen können, sind:

  • Hinzufügen von Suchfunktionen zum Formular.

  • Fügen Sie dem Dataset zusätzliche Tabellen hinzu, indem Sie " DataSet mit Assistenten konfigurieren" aus dem Fenster " Datenquellen " auswählen. Sie können Steuerelemente hinzufügen, die verwandte Daten anzeigen, indem Sie die zugehörigen Knoten auf das Formular ziehen. Weitere Informationen finden Sie unter "Beziehungen in Datasets".