Erstellen einer Datenbank und Hinzufügen von Tabellen in .NET Framework-Anwendungen mit Visual Studio

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.

Sie können Visual Studio verwenden, um eine lokale Datenbankdatei in SQL Server Express LocalDB zu erstellen und zu aktualisieren. Sie können auch eine Datenbank erstellen, indem Sie Transact-SQL-Anweisungen im SQL Server-Objekt-Explorer-Toolfenster in Visual Studio ausführen. In diesem Thema erstellen Sie eine .mdf-Datei und fügen mithilfe des Tabellen-Designers Tabellen und Schlüssel hinzu.

Voraussetzungen

Für diese exemplarische Vorgehensweise benötigen Sie die Workloads .NET-Desktopentwicklung und Datenspeicherung und -verarbeitung, die in Visual Studio installiert sind. Um diese zu installieren, öffnen Sie Visual Studio-Installer und wählen Ändern (oder Weitere>Ändern) neben der Version von Visual Studio aus, die Sie ändern möchten. Weitere Informationen finden Sie im Artikel Ändern von Visual Studio durch Hinzufügen oder Entfernen von Arbeitsauslastungen und Komponenten.

Hinweis

Die Verfahren in diesem Artikel gelten nur für .NET Framework-Windows Forms-Projekte, nicht für .NET Core Windows Forms-Projekte.

Erstellen eines Projekts und einer lokalen Datenbankdatei

  1. Erstellen Sie ein neues Projekt vom Typ Windows Forms-App (.NET Framework) und weisen ihm den Namen SampleDatabaseWalkthrough zu.

  2. Wählen Sie auf der Menüleiste Projekt>Neues Element hinzufügen aus. Wenn ein kleines Dialogfeld mit einem Feld für einen Dateinamen angezeigt wird, wählen Sie Alle Vorlagen anzeigen aus.

  3. Scrollen Sie in der Liste der Elementvorlagen nach unten, und wählen Sie Dienstbasierte Datenbank aus.

    Neues Element hinzufügen > Dienstbasierte Datenbank

    Neues Element hinzufügen > Dienstbasierte Datenbank

  4. Benennen Sie die Datenbank SampleDatabase.mdf, und wählen Sie anschließend Hinzufügen aus.

Hinzufügen einer Datenquelle

  1. Wenn das Fenster Datenquellen nicht geöffnet ist, öffnen Sie es, indem Sie UMSCHALT+ALT+D drücken oder Ansicht>Weitere Fenster>Datenquellen auf der Menüleiste auswählen.

  2. Wählen Sie im Datenquellenfenster die Option Neue Datenquelle hinzufügen aus.

    „Neue Datenquelle hinzufügen“ in Visual Studio

    „Neue Datenquelle hinzufügen“ in Visual Studio

    Der Assistent zum Konfigurieren von Datenquellen wird geöffnet.

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

  4. Wählen Sie auf der Seite Datenbankmodell auswählen die Option Weiter aus, um die Standardeinstellung (Dataset) zu übernehmen.

  5. Wählen Sie auf der Seite Datenverbindung auswählen die Datei SampleDatabase.mdf in der Dropdownliste und dann Weiter aus.

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

  7. Auf der Seite Datenbankobjekte auswählen wird eine Meldung angezeigt, die besagt, dass die Datenbank keine Objekte enthält. Klicken Sie auf Fertig stellen.

Achtung

In einer echten Anwendung sollten Sie die Verbindungszeichenfolge sicher speichern, wie in Verbindungszeichenfolgen und Konfigurationsdateien beschrieben. Zur Gewährleistung einer optimalen Sicherheit sollten Sie eine Authentifizierungsmethode verwenden, die nicht auf dem Speichern eines Kennworts in der Verbindungszeichenfolge basiert, wie z. B. die Windows-Authentifizierung für eine lokale SQL Server-Datenbank. Weitere Informationen finden Sie unter Speichern und Bearbeiten von Verbindungszeichenfolgen.

Anzeigen der Eigenschaften der Datenverbindung

Sie können einige der Eigenschaften der Datei SampleDatabase.mdf anzeigen, indem Sie das Fenster Eigenschaften der Datenverbindung öffnen:

  • Wählen Sie Ansicht>SQL Server-Objekt-Explorer aus (oder drücken Sie STRG+\STRG+S), um das Fenster SQL Server-Objekt-Explorer zu öffnen. Erweitern Sie (localdb)\MSSQLLocalDB>Databases, und klicken Sie dann mit der rechten Maustaste auf SampleDatabase.mdf (möglicherweise als vollständiger Pfad aufgeführt), und wählen Sie anschließend Eigenschaften aus.

  • Alternativ können Sie Ansicht>Server-Explorer auswählen, wenn dieses Fenster noch nicht geöffnet ist. Öffnen Sie das Eigenschaftenfenster, indem Sie den Knoten Datenverbindungen erweitern, mit der rechten Maustaste auf SampleDatabase.mdf klicken und dann Eigenschaften auswählen.

    Tipp

    Wenn Sie den Knoten „Datenverbindungen“ nicht erweitern können oder die SampleDatabase.mdf-Verbindung nicht aufgeführt ist, wählen Sie auf der Server-Explorer-Symbolleiste die Schaltfläche Mit Datenbank verbinden aus. Vergewissern Sie sich im Dialogfeld Verbindung hinzufügen, dass unter Datenquelle die Option Microsoft SQL Server-Datenbankdatei ausgewählt ist, und wählen Sie dann die Datei „SampleDatabase.mdf“ aus. Schließen Sie das Hinzufügen der Verbindung ab, indem Sie OK auswählen.

Um die Verbindungszeichenfolge anzuzeigen, können Sie die Datei App.config im Projektmappen-Explorer öffnen. Unter dem Element connectionStrings sollte ein Eintrag angezeigt werden, der dem folgenden Code ähnelt:

    <connectionStrings>
        <add name="SampleDatabaseWalkthrough.Properties.Settings.SampleDatabaseConnectionString"
            connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SampleDatabase.mdf;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

Erstellen von Tabellen und Schlüsseln mithilfe des Tabellen-Designers

In diesem Abschnitt erstellen Sie zwei Tabellen, einen Primärschlüssel in jeder Tabelle und ein paar Zeilen mit Beispieldaten. Sie erstellen auch einen Fremdschlüssel, um anzugeben, wie Datensätze in einer Tabelle den Datensätzen in einer anderen Tabelle entsprechen.

Erstellen der Customers-Tabelle

  1. Erweitern Sie im Server-Explorer oder SQL Server-Objektkatalog den Knoten Datenverbindungen, und erweitern Sie dann den SampleDatabase.mdf-Knoten.

  2. Klicken Sie mit der rechten Maustaste auf Tabellen, und wählen Sie Neue Tabelle hinzufügen aus.

    Der Tabellen-Designer wird geöffnet und zeigt ein Raster mit einer standardmäßigen Zeile an, die eine einzelne Spalte in der Tabelle darstellt, die Sie erstellen. Durch Hinzufügen von Zeilen zum Raster fügen Sie zusätzliche Spalten in der Tabelle hinzu.

  3. Im Raster fügen Sie eine Zeile für jeden der folgenden Einträge hinzu:

    Spaltenname Datentyp NULL zulassen
    CustomerID nchar(5) False (gelöscht)
    CompanyName nvarchar(50) False (gelöscht)
    ContactName nvarchar (50) True (ausgewählt)
    Phone nvarchar (24) True (ausgewählt)
  4. Klicken Sie mit der rechten Maustaste auf die Zeile CustomerID, und wählen Sie dann Primärschlüssel festlegen aus.

  5. Klicken Sie mit der rechten Maustaste auf die Standardzeile (Id), und wählen Sie dann Löschen aus.

  6. Benennen Sie die Tabelle "Customers", indem Sie die erste Zeile im Skriptbereich entsprechend dem folgenden Beispiel aktualisieren:

    CREATE TABLE [dbo].[Customers]
    
  7. Fügen Sie der Customers-Tabelle eine Indexeinschränkung hinzu. Fügen Sie am Ende der Phone-Zeile ein Komma hinzu, und fügen Sie dann das folgende Beispiel vor der schließenden Klammer hinzu:

    CONSTRAINT [PK_Customers] PRIMARY KEY ([CustomerID])
    

    Die Ausgabe sollte in etwa wie folgt aussehen:

    Tabellen-Designer mit Customers-Tabelle

    Tabellen-Designer mit Customers-Tabelle

  8. Wählen Sie in der oberen linken Ecke des Tabellen-Designers die Option Aktualisieren aus, oder drücken Sie UMSCHALT+ALT+U.

  9. Wählen Sie im Dialogfeld Vorschau von Datenbankupdates die Option Datenbank aktualisieren aus.

    Die Customers-Tabelle wird in der lokalen Datenbankdatei erstellt.

Erstellen der Orders-Tabelle

  1. Fügen Sie eine weitere Tabelle hinzu, und fügen Sie dann in der folgenden Tabelle eine Zeile für jeden Eintrag hinzu:

    Spaltenname Datentyp NULL zulassen
    OrderID int False (gelöscht)
    CustomerID nchar(5) False (gelöscht)
    OrderDate datetime True (ausgewählt)
    OrderQuantity int True (ausgewählt)
  2. Legen Sie OrderID als Primärschlüssel fest, und löschen Sie dann die Standardzeile.

  3. Benennen Sie die Tabelle "Orders", indem Sie die erste Zeile im Skriptbereich entsprechend dem folgenden Beispiel aktualisieren:

    CREATE TABLE [dbo].[Orders]
    
  4. Fügen Sie der Customers-Tabelle eine Indexeinschränkung hinzu. Fügen Sie am Ende der OrderQuantity-Zeile ein Komma hinzu, und fügen Sie dann das folgende Beispiel vor der schließenden Klammer hinzu:

    CONSTRAINT [PK_Orders] PRIMARY KEY ([OrderId])
    
  5. Wählen Sie in der oberen linken Ecke des Tabellen-Designers die Option Aktualisieren aus, oder drücken Sie UMSCHALT+ALT+U.

  6. Wählen Sie im Dialogfeld Vorschau von Datenbankupdates die Option Datenbank aktualisieren aus.

    Die Orders-Tabelle wird in der lokalen Datenbankdatei erstellt. Wenn Sie den Knoten Tabellen im Server-Explorer erweitern, werden die beiden folgenden Tabellen angezeigt:

    Erweiterter Knoten „Tabellen“ im Server-Explorer

    Erweiterter Knoten „Tabellen“ im Server-Explorer

    Wenn Sie sie nicht sehen, klicken Sie auf der Symbolleiste auf die Schaltfläche Aktualisieren.

Erstellen eines Fremdschlüssels

  1. Klicken Sie im Kontextbereich auf der rechten Seite des Tabellen-Designer-Rasters für die Orders-Tabelle mit der rechten Maustaste auf Fremdschlüssel, und wählen Sie Neuen Fremdschlüssel hinzufügen aus.

    Hinzufügen eines Fremdschlüssels im Tabellen-Designer in Visual Studio

    Hinzufügen eines Fremdschlüssels im Tabellen-Designer in Visual Studio

  2. Ersetzen Sie im angezeigten Textfeld den Text ToTable durch Customers.

  3. Im T-SQL-Bereich aktualisieren Sie die letzte Zeile entsprechend dem folgenden Beispiel:

    CONSTRAINT [FK_Orders_Customers] FOREIGN KEY ([CustomerID]) REFERENCES [Customers]([CustomerID])
    
  4. Wählen Sie in der oberen linken Ecke des Tabellen-Designers die Option Aktualisieren aus (UMSCHALT+ALT+U).

  5. Wählen Sie im Dialogfeld Vorschau von Datenbankupdates die Option Datenbank aktualisieren aus.

    Der Fremdschlüssel wird erstellt.

Auffüllen der Tabellen mit Daten

  1. Erweitern Sie im Server-Explorer oder SQL Server-Objekt-Explorer den Knoten für die Beispieldatenbank.

  2. Öffnen Sie das Kontextmenü für den Knoten Tabellen, wählen Sie Aktualisieren aus, und erweitern Sie anschließend den Knoten Tabellen.

  3. Öffnen Sie das Kontextmenü für die Customers-Tabelle, und wählen Sie dann Tabellendaten anzeigen oder Daten anzeigen aus.

  4. Fügen Sie für einige Kunden die gewünschten Daten hinzu.

    Sie können fünf beliebige Zeichen für die Kunden-IDs angeben, wählen Sie aber mindestens eine aus, an die Sie sich noch erinnern können, um sie später in dieser Prozedur zu verwenden.

  5. Öffnen Sie das Kontextmenü für die Orders-Tabelle, und wählen Sie dann Tabellendaten anzeigen oder Daten anzeigen aus.

  6. Fügen Sie Daten für einige Bestellungen hinzu. Wenn Sie eine Zeile eingeben, wird sie in der Datenbank gespeichert.

    Wichtig

    Überprüfen Sie, ob alle Bestellnummern und -mengen ganze Zahlen sind und ob jede Kunden-ID mit einem Wert übereinstimmt, den Sie in der Spalte CustomerID in der Tabelle „Customers“ angegeben haben.

Glückwunsch! Sie wissen jetzt, wie Sie Tabellen erstellen, sie mit einem Fremdschlüssel verknüpfen und Daten hinzufügen können.