C#-Datenbankverbindung: So verbinden Sie SQL Server (Beispiel)

Der Zugriff auf Daten aus einer Datenbank ist einer der wichtigen Aspekte jeder Programmiersprache. Es ist eine absolute Notwendigkeit fรผr jede Programmiersprache, mit Datenbanken arbeiten zu kรถnnen. C# ist nicht anders.

Es kann mit verschiedenen Arten von Datenbanken arbeiten. Es kann mit den gรคngigsten Datenbanken arbeiten, z Oracle und Microsoft SQL Server.

Es kann auch mit neuen Formen von Datenbanken arbeiten, z MongoDB und MySQL.

Grundlagen der Datenbankkonnektivitรคt

C# und .Net kรถnnen mit den meisten Datenbanken arbeiten, am hรคufigsten ist dies der Fall Oracle und Microsoft SQL Server. Aber bei jeder Datenbank ist die Logik hinter der Arbeit mit allen grรถรŸtenteils dieselbe.

In unseren Beispielen werden wir uns mit der Funktionsweise befassen Microsoft SQL Server als unsere Datenbank. Zu Lernzwecken kann man das herunterladen und verwenden Microsoft SQL Server Express Edition, eine kostenlose Datenbanksoftware von Microsoft.

Bei der Arbeit mit Datenbanken gelten die folgenden Konzepte, die allen Datenbanken gemeinsam sind.

  1. Verbindungen schaffen โ€“ Um mit den Daten in einer Datenbank zu arbeiten, ist der erste offensichtliche Schritt die Verbindung. Die Verbindung zu einer Datenbank besteht normalerweise aus den unten aufgefรผhrten Parametern.
    1. Datenbankname oder Datenquelle โ€“ Der erste wichtige Parameter ist der Datenbankname, zu dem die Verbindung hergestellt werden soll. Jede Verbindung kann jeweils nur mit einer Datenbank arbeiten.
    2. Aus- und Fortbildungen โ€“ Der nรคchste wichtige Aspekt ist der Benutzername und das Passwort, mit denen eine Verbindung zur Datenbank hergestellt werden muss. Es stellt sicher, dass der Benutzername und das Passwort รผber die erforderlichen Berechtigungen zum Herstellen einer Verbindung zur Datenbank verfรผgen.
    3. Optionale Parameter โ€“ Fรผr jeden Datenbanktyp kรถnnen Sie optionale Parameter angeben, um weitere Informationen darรผber bereitzustellen, wie .net die Verbindung zur Datenbank handhaben soll. Beispielsweise kรถnnen Sie einen Parameter angeben, der angibt, wie lange die Verbindung aktiv bleiben soll. Wenn fรผr einen bestimmten Zeitraum keine Operation ausgefรผhrt wird, bestimmt der Parameter, ob die Verbindung geschlossen werden muss.
  2. Auswรคhlen von Daten aus der Datenbank โ€“ Sobald die Verbindung hergestellt ist, geht es als nรคchstes darum, die Daten aus der Datenbank zu holen. C# kann den SQL-Auswahlbefehl fรผr die Datenbank ausfรผhren. Mit der โ€žSQLโ€œ-Anweisung kรถnnen Daten aus einer bestimmten Tabelle in der Datenbank abgerufen werden.
  3. Einfรผgen von Daten in die Datenbank โ€“ C# kann auch zum Einfรผgen von Datensรคtzen in die Datenbank verwendet werden. Fรผr jede Zeile, die in die Datenbank eingefรผgt werden muss, kรถnnen in C# Werte angegeben werden.
  4. Aktualisieren von Daten in der Datenbank โ€“ C# kann auch verwendet werden, um vorhandene Datensรคtze in der Datenbank zu aktualisieren. Fรผr jede Zeile, die in der Datenbank aktualisiert werden muss, kรถnnen in C# neue Werte angegeben werden.
  5. Daten aus einer Datenbank lรถschen โ€“ C# kann auch zum Lรถschen von Datensรคtzen in der Datenbank verwendet werden. In C# kรถnnen Auswahlbefehle angegeben werden, um anzugeben, welche Zeilen gelรถscht werden mรผssen.

Ok, nachdem wir uns nun die Theorie jeder Operation angesehen haben, springen wir zu den weiteren Abschnitten und schauen uns an, wie wir Datenbankoperationen in C# durchfรผhren kรถnnen.

SQL-Befehl in c#

SqlCommand in C# Ermรถglichen Sie dem Benutzer, die Befehle abzufragen und an die Datenbank zu senden. Der SQL-Befehl wird durch das SQL-Verbindungsobjekt angegeben. Es werden zwei Methoden verwendet: die ExecuteReader-Methode fรผr Abfrageergebnisse und die ExecuteNonQuery fรผr Einfรผge-, Aktualisierungs- und Lรถschbefehle. Dies ist die Methode, die fรผr die verschiedenen Befehle am besten geeignet ist.

So verbinden Sie C# mit der Datenbank

Schauen wir uns nun den Code an, der beibehalten werden muss, um eine Verbindung zu einer Datenbank herzustellen. In unserem Beispiel stellen wir eine Verbindung zu einer Datenbank mit dem Namen Demodb her. Die fรผr die Verbindung zur Datenbank verwendeten Anmeldeinformationen sind unten aufgefรผhrt

  • Benutzername โ€“ sa
  • Passwort โ€“ demo123

Wir werden ein einfaches sehen Windows Bewerbungsformulare mit Datenbanken arbeiten. Wir werden eine einfache Schaltflรคche namens โ€žVerbindenโ€œ haben, die zum Herstellen einer Verbindung zur Datenbank verwendet wird.

Befolgen Sie daher die folgenden Schritte, um dies zu erreichen

Schritt 1) Der erste Schritt besteht darin, ein neues Projekt in Visual Studio zu erstellen. Nach dem Start von Visual Studio mรผssen Sie die Menรผoption Neu->Projekt auswรคhlen.

Verbinden Sie C# mit der Datenbank

Schritt 2) Der nรคchste Schritt besteht darin, den Projekttyp als auszuwรคhlen Windows Bewerbungsformulare. Hier mรผssen wir auch den Namen und den Standort unseres Projekts angeben.

Verbinden Sie C# mit der Datenbank

  1. Im Projektdialogfeld sehen wir verschiedene Optionen zum Erstellen unterschiedlicher Projekttypen in Visual Studio. Klicken Sie auf das Windows Option auf der linken Seite.
  2. Wenn wir auf klicken Windows Optionen im vorherigen Schritt, wir werden in der Lage sein, eine Option fรผr zu sehen Windows Bewerbungsformulare. Klicken Sie auf diese Option.
  3. AnschlieรŸend geben wir der Anwendung einen Namen, in unserem Fall โ€žDemoApplicationโ€œ. Wir mรผssen auch einen Speicherort fรผr unsere Anwendung angeben.
  4. AbschlieรŸend klicken wir auf die Schaltflรคche โ€žOKโ€œ, damit Visual Studio unser Projekt erstellen kann.

Schritt 3) Fรผgen Sie nun einen Button aus der Toolbox zum Windows bilden. Setzen Sie die Texteigenschaft des Buttons auf โ€žVerbindenโ€œ. So wird es aussehen

Verbinden Sie C# mit der Datenbank

Schritt 4) Doppelklicken Sie nun auf das Formular, damit dem Code fรผr das Schaltflรคchenklickereignis ein Ereignishandler hinzugefรผgt wird. Fรผgen Sie im Ereignishandler den folgenden Code hinzu.

Verbinden Sie C# mit der Datenbank

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DemoApplication1
{
 public partial class Form1 : Form
 {
  public Form1()
  {
   InitializeComponent();
  }

  private void button1_Click(object sender, EventArgs e)
  {
   string connetionString;
   SqlConnection cnn;
   connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demol23";
   cnn = new SqlConnection(connetionString);
   cnn.Open();
   MessageBox.Show("Connection Open  !");
   cnn.Close();
  }
 }
}

Code-Erklรคrung:-

  1. Der erste Schritt besteht darin, Variablen zu erstellen, die zum Erstellen der Verbindungszeichenfolge und der Verbindung zur SQL Server-Datenbank verwendet werden.
  2. Der nรคchste Schritt besteht darin, die Verbindungszeichenfolge zu erstellen. Die Verbindungszeichenfolge muss korrekt angegeben werden, damit C# die Verbindungszeichenfolge verstehen kann. Die Verbindungszeichenfolge besteht aus den folgenden Teilen
    1. Datenquelle โ€“ Dies ist der Name des Servers, auf dem sich die Datenbank befindet. In unserem Fall befindet es sich auf einer Maschine namens WIN-50GP30FGO75.
    2. Der Anfangskatalog wird verwendet, um den Namen der Datenbank anzugeben
    3. Die Benutzer-ID und das Passwort sind die Anmeldeinformationen, die zum Herstellen einer Verbindung zur Datenbank erforderlich sind.
  3. Als nรคchstes weisen wir die Verbindungszeichenfolge der Variablen cnn zu. Die Variable cnn vom Typ SqlConnection wird zum Herstellen der Verbindung zur Datenbank verwendet.
  4. Als nรคchstes verwenden wir die Open-Methode der cnn-Variablen, um eine Verbindung zur Datenbank herzustellen. Wir zeigen dem Benutzer dann lediglich eine Nachricht an, dass die Verbindung hergestellt wurde.
  5. Sobald der Vorgang erfolgreich abgeschlossen ist, schlieรŸen wir die Verbindung zur Datenbank. Es empfiehlt sich immer, die Verbindung zur Datenbank zu schlieรŸen, wenn nichts anderes mit der Datenbank getan werden muss.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgefรผhrt wird, erhalten Sie die folgende Ausgabe. Sobald das Formular angezeigt wird, klicken Sie auf die Schaltflรคche โ€žVerbindenโ€œ.

Ausgabe:-

Verbinden Sie C# mit der Datenbank

Wenn Sie auf die Schaltflรคche โ€žVerbindenโ€œ klicken, kรถnnen Sie in der Ausgabe sehen, dass die Datenbankverbindung hergestellt wurde. Daher wurde das Meldungsfeld angezeigt.

Greifen Sie mit dem SqlDataReader auf Daten zu

Um zu zeigen, wie mit C# auf Daten zugegriffen werden kann, gehen wir davon aus, dass unsere Datenbank die folgenden Artefakte enthรคlt.

  1. Eine Tabelle namens demotb. Diese Tabelle wird zum Speichern der ID und Namen verschiedener Tutorials verwendet.
  2. Die Tabelle enthรคlt zwei Spalten, eine mit dem Namen โ€žTutorialIDโ€œ und die andere mit dem Namen โ€žTutorialNameโ€œ.
  3. Im Moment besteht die Tabelle aus zwei Zeilen, wie unten gezeigt.
TutorialID TutorialName
1 C#
2 ASP.Net

ร„ndern wir den Code in unserem Formular, sodass wir diese Daten abfragen und die Informationen รผber eine Messagebox anzeigen kรถnnen. Beachten Sie, dass der gesamte unten eingegebene Code eine Fortsetzung des Codes ist, der im vorherigen Abschnitt fรผr die Datenverbindung geschrieben wurde.

Schritt 1) Teilen wir den Code in zwei Teile auf, damit er fรผr den Benutzer leicht verstรคndlich ist.

  • Der erste Schritt besteht darin, unsere โ€žselectโ€œ-Anweisung zu erstellen, die zum Lesen der Daten aus der Datenbank verwendet wird.
  • AnschlieรŸend fรผhren wir die โ€žselectโ€œ-Anweisung fรผr die Datenbank aus und rufen alle Tabellenzeilen entsprechend ab.

Greifen Sie mit dem SqlDataReader auf Daten zu

Code-Erklรคrung:-

  1. Der erste Schritt besteht darin, die folgenden Variablen zu erstellen
    1. SQLCommand โ€“ โ€žSQLCommandโ€œ ist eine in C# definierte Klasse. Diese Klasse wird zum Ausfรผhren von Lese- und Schreibvorgรคngen in der Datenbank verwendet. Daher besteht der erste Schritt darin, sicherzustellen, dass wir einen Variablentyp dieser Klasse erstellen. Diese Variable wird dann in den nachfolgenden Schritten zum Lesen von Daten aus unserer Datenbank verwendet.
    2. Das DataReader-Objekt wird verwendet, um alle von der SQL-Abfrage angegebenen Daten abzurufen. Mit dem Datenleser kรถnnen wir dann alle Tabellenzeilen einzeln lesen.
    3. AnschlieรŸend definieren wir zwei String-Variablen, eine davon ist โ€žSQLโ€œ, um unsere SQL-Befehlszeichenfolge zu speichern. Als nรคchstes folgt die โ€žAusgabeโ€œ, die alle Tabellenwerte enthรคlt.
  2. Der nรคchste Schritt besteht darin, die SQL-Anweisung zu definieren, die fรผr unsere Datenbank verwendet wird. In unserem Fall ist es โ€žSelect TutorialID, TutorialName from demotbโ€œ. Dadurch werden alle Zeilen aus der Tabelle demotb abgerufen.
  3. Als nรคchstes erstellen wir das Befehlsobjekt, das zum Ausfรผhren der SQL-Anweisung in der Datenbank verwendet wird. Im SQL-Befehl mรผssen Sie das Verbindungsobjekt und den SQL-String รผbergeben.
  4. Als nรคchstes fรผhren wir den Datenleserbefehl aus, der alle Zeilen aus der Tabelle demotb abruft.
  5. Da wir nun alle Zeilen der Tabelle bei uns haben, benรถtigen wir einen Mechanismus, um einzeln auf die Zeile zuzugreifen. Dazu verwenden wir die while-Anweisung. Die while-Anweisung wird verwendet, um einzeln auf die Zeilen des Datenlesers zuzugreifen. AnschlieรŸend verwenden wir die GetValue-Methode, um den Wert von TutorialID und TutorialName abzurufen.

Schritt 2) Im letzten Schritt zeigen wir dem Benutzer einfach die Ausgabe an und schlieรŸen alle Objekte, die mit dem Datenbankvorgang in Zusammenhang stehen.

Greifen Sie mit dem SqlDataReader auf Daten zu

Code-Erklรคrung:-

  1. Wir werden unseren Code fortsetzen, indem wir den Wert der Ausgabevariablen mithilfe der Nachricht anzeigenBox. Die Ausgabevariable enthรคlt alle Werte aus der Demotb-Tabelle.
  2. AbschlieรŸend schlieรŸen wir alle Objekte, die mit unserem Datenbankvorgang in Zusammenhang stehen. Denken Sie daran, dass dies immer eine gute Vorgehensweise ist.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgefรผhrt wird, erhalten Sie die folgende Ausgabe. Sobald das Formular angezeigt wird, klicken Sie auf die Schaltflรคche โ€žVerbindenโ€œ.

Ausgabe:-

Greifen Sie mit dem SqlDataReader auf Daten zu

An der Ausgabe erkennt man deutlich, dass das Programm die Werte aus der Datenbank holen konnte. AnschlieรŸend werden die Daten in der Messagebox angezeigt.

C#-Einfรผgung in die Datenbank

Genau wie beim Zugriff auf Daten bietet C# auch die Mรถglichkeit, Datensรคtze in die Datenbank einzufรผgen. Um zu veranschaulichen, wie Datensรคtze in unsere Datenbank eingefรผgt werden, verwenden wir dieselbe Tabellenstruktur wie oben.

TutorialID TutorialName
1 C#
2 ASP.Net

ร„ndern wir den Code in unserem Formular, so dass wir die folgende Zeile in die Tabelle einfรผgen kรถnnen

TutorialID TutorialName
3 VB.Net

Fรผgen wir also den folgenden Code zu unserem Programm hinzu. Der folgende Codeausschnitt wird verwendet, um einen vorhandenen Datensatz in unsere Datenbank einzufรผgen.

C#-Einfรผgung in die Datenbank

Code-Erklรคrung:-

  1. Der erste Schritt besteht darin, die folgenden Variablen zu erstellen
    1. SQLCommand โ€“ Dieser Datentyp wird verwendet, um Objekte zu definieren, die zum Ausfรผhren von SQL-Operationen fรผr eine Datenbank verwendet werden. Dieses Objekt enthรคlt den SQL-Befehl, der fรผr unsere SQL Server-Datenbank ausgefรผhrt wird.
    2. Das DataAdapter-Objekt wird verwendet, um bestimmte SQL-Operationen wie Einfรผge-, Lรถsch- und Aktualisierungsbefehle auszufรผhren.
    3. AnschlieรŸend definieren wir eine String-Variable, nรคmlich โ€žSQLโ€œ, um unsere SQL-Befehlszeichenfolge zu speichern.
  2. Der nรคchste Schritt besteht darin, die SQL-Anweisung zu definieren, die fรผr unsere Datenbank verwendet wird. In unserem Fall geben wir eine INSERT-Anweisung aus, die den Datensatz von TutorialID=1 und TutorialName=VB.Net einfรผgt
  3. Als nรคchstes erstellen wir das Befehlsobjekt, das zum Ausfรผhren der SQL-Anweisung in der Datenbank verwendet wird. Im SQL-Befehl mรผssen Sie das Verbindungsobjekt und den SQL-String รผbergeben
  4. In unserem Datenadapterbefehl verknรผpfen wir nun den SQL-Befehl โ€žinsertโ€œ mit unserem Adapter. AnschlieรŸend geben wir auch die Methode โ€žExecuteNonQueryโ€œ aus, mit der die Insert-Anweisung fรผr unsere Datenbank ausgefรผhrt wird. Die Methode โ€žExecuteNonQueryโ€œ wird in C# verwendet, um DML-Anweisungen fรผr die Datenbank auszugeben. Mit DML-Anweisungen meinen wir den Einfรผge-, Lรถsch- und Aktualisierungsvorgang. Wenn Sie in C# eine dieser Anweisungen fรผr eine Tabelle ausgeben mรถchten, mรผssen Sie die Methode โ€žExecuteNonQueryโ€œ verwenden.
  5. AbschlieรŸend schlieรŸen wir alle Objekte, die mit unserem Datenbankvorgang in Zusammenhang stehen. Denken Sie daran, dass dies immer eine gute Vorgehensweise ist.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgefรผhrt wird, erhalten Sie die folgende Ausgabe. Sobald das Formular angezeigt wird, klicken Sie auf die Schaltflรคche โ€žVerbindenโ€œ.

Ausgabe:-

C#-Einfรผgung in die Datenbank

Wenn Sie zu SQL Server Express gehen und die Zeilen in der Tabelle demotb sehen, sehen Sie die eingefรผgte Zeile wie unten gezeigt

C#-Einfรผgung in die Datenbank

C#-Update-Datenbank

Genau wie beim Zugriff auf Daten bietet C# auch die Mรถglichkeit, vorhandene Datensรคtze aus der Datenbank zu aktualisieren. Um zu veranschaulichen, wie Datensรคtze in unserer Datenbank aktualisiert werden, verwenden wir dieselbe Tabellenstruktur wie oben.

TutorialID TutorialName
1 C#
2 ASP.Net
3 VB.Net

ร„ndern wir den Code in unserem Formular, damit wir die folgende Zeile aktualisieren kรถnnen. Der alte Zeilenwert lautet TutorialID als โ€ž3โ€œ und Tutorialname als โ€žVB.Netโ€œ. Wir aktualisieren ihn auf โ€žVB.Net abgeschlossenโ€œ, wรคhrend der Zeilenwert fรผr die Tutorial-ID gleich bleibt.

Alte Reihe

TutorialID TutorialName
3 VB.Net

Neue Reihe

TutorialID TutorialName
3 VB.Net abgeschlossen

Fรผgen wir also den folgenden Code zu unserem Programm hinzu. Der folgende Codeausschnitt wird verwendet, um einen vorhandenen Datensatz in unserer Datenbank zu aktualisieren.

C#-Update-Datenbank

C# SqlCommand-Beispiel mit Code-Erklรคrung: โ€“

  1. Der erste Schritt besteht darin, die folgenden Variablen zu erstellen
    1. SQLCommand โ€“ Dieser Datentyp wird verwendet, um Objekte zu definieren, die zum Ausfรผhren von SQL-Operationen fรผr eine Datenbank verwendet werden. Dieses Objekt enthรคlt den SQL-Befehl, der fรผr unsere SQL Server-Datenbank ausgefรผhrt wird.
    2. Das Dataadapterobjekt wird zum Ausfรผhren bestimmter SQL-Operationen wie Einfรผge-, Lรถsch- und Aktualisierungsbefehlen verwendet.
    3. AnschlieรŸend definieren wir eine String-Variable, die SQL ist, um unsere SQL-Befehlszeichenfolge zu speichern.
  2. Der nรคchste Schritt besteht darin, die SQL-Anweisung zu definieren, die fรผr unsere Datenbank verwendet wird. In unserem Fall geben wir eine Update-Anweisung aus. Dadurch wird der Name des Tutorials auf โ€žVB.Net Completeโ€œ aktualisiert, wรคhrend die TutorialID unverรคndert bleibt und bei 3 bleibt.
  3. Als nรคchstes erstellen wir das Befehlsobjekt, das zum Ausfรผhren der SQL-Anweisung fรผr die Datenbank verwendet wird. Im SQL-Befehl haben Sie das Verbindungsobjekt und den SQL-String รผbergeben.
  4. In unserem Datenadapterbefehl verknรผpfen wir nun den Befehl โ€žSQL einfรผgenโ€œ mit unserem Adapter. AnschlieรŸend geben wir auch die ExecuteNonQuery-Methode aus, mit der die Update-Anweisung fรผr unsere Datenbank ausgefรผhrt wird.
  5. AbschlieรŸend schlieรŸen wir alle Objekte, die mit unserem Datenbankvorgang in Zusammenhang stehen. Denken Sie daran, dass dies immer eine gute Vorgehensweise ist.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgefรผhrt wird, erhalten Sie die folgende Ausgabe. Sobald das Formular angezeigt wird, klicken Sie auf die Schaltflรคche โ€žVerbindenโ€œ.

Ausgabe:-

C#-Update-Datenbank

Wenn Sie tatsรคchlich zu SQL Server Express gehen und die Zeilen in der Tabelle demotb sehen, werden Sie sehen, dass die Zeile erfolgreich aktualisiert wurde, wie unten gezeigt.

C#-Update-Datenbank

Datensรคtze lรถschen

Genau wie beim Zugriff auf Daten bietet C# auch die Mรถglichkeit, vorhandene Datensรคtze aus der Datenbank zu lรถschen. Um zu veranschaulichen, wie Datensรคtze in unserer Datenbank gelรถscht werden, verwenden wir dieselbe Tabellenstruktur wie oben.

TutorialID TutorialName
1 C#
2 ASP.Net
3 VB.Net abgeschlossen

ร„ndern wir den Code in unserem Formular, so dass wir die folgende Zeile lรถschen kรถnnen

TutorialID TutorialName
3 VB.Net abgeschlossen

Fรผgen wir also den folgenden Code zu unserem Programm hinzu. Der folgende Codeausschnitt wird verwendet, um einen vorhandenen Datensatz in unserer Datenbank zu lรถschen.

Datensรคtze lรถschen

Code-Erklรคrung:-

  1. Der Hauptunterschied in diesem Code besteht darin, dass wir jetzt die SQL-Anweisung โ€ždeleteโ€œ ausgeben. Mit der delete-Anweisung wird die Zeile in der demotb-Tabelle gelรถscht, in der die TutorialID den Wert 3 hat.
  2. In unserem Datenadapterbefehl verknรผpfen wir nun den Befehl โ€žSQL einfรผgenโ€œ mit unserem Adapter. AnschlieรŸend geben wir auch die ExecuteNonQuery-Methode aus, mit der die Delete-Anweisung fรผr unsere Datenbank ausgefรผhrt wird.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgefรผhrt wird, erhalten Sie die folgende Ausgabe. Sobald das Formular angezeigt wird, klicken Sie auf die Schaltflรคche โ€žVerbindenโ€œ.

Ausgabe:-

Datensรคtze lรถschen

Wenn Sie tatsรคchlich zu SQL Server Express gehen und die Zeilen in der Tabelle demotb sehen, werden Sie sehen, dass die Zeile erfolgreich gelรถscht wurde, wie unten gezeigt.

Datensรคtze lรถschen

Steuerelemente mit Daten verbinden

In den vorherigen Abschnitten haben wir gesehen, wie wir C#-Befehle wie SQLCommand und SQLReader verwenden kรถnnen, um Daten aus einer Datenbank abzurufen. Wir haben auch gesehen, wie wir jede Zeile der Tabelle lesen und eine Meldungsbox verwenden, um dem Benutzer den Inhalt einer Tabelle anzuzeigen.

Aber natรผrlich mรถchten Benutzer keine Daten sehen, die รผber Nachrichtenfelder gesendet werden, und wรผnschen sich bessere Steuerelemente zur Anzeige der Daten. Betrachten wir die folgende Datenstruktur in einer Tabelle

TutorialID TutorialName
1 C#
2 ASP.Net
3 VB.Net abgeschlossen

Aus der obigen Datenstruktur mรถchte der Benutzer idealerweise die TutorialID und den Tutorialnamen in einem Textfeld angezeigt bekommen. Zweitens mรถchte er vielleicht eine Art Schaltflรคchensteuerung haben, mit der er zum nรคchsten oder vorherigen Datensatz in der Tabelle wechseln kann. Dies wรผrde ein wenig zusรคtzliche Codierung seitens des Entwicklers erfordern.

Die gute Nachricht ist, dass C# den zusรคtzlichen Programmieraufwand reduzieren kann, indem es die Bindung von Steuerelementen an Daten ermรถglicht. Das bedeutet, dass C# den Wert des Textfelds automatisch entsprechend einem bestimmten Feld der Tabelle fรผllen kann.

Sie kรถnnen also 2 Textfelder in einem Windows-Formular haben. Sie kรถnnen dann ein Textfeld mit dem Feld TutorialID und ein anderes Textfeld mit dem Feld TutorialName verknรผpfen. Diese Verknรผpfung erfolgt im Visual Studio-Designer selbst und Sie mรผssen hierfรผr keinen zusรคtzlichen Code schreiben.

Visual Studio stellt sicher, dass es den Code fรผr Sie schreibt, damit die Verknรผpfung funktioniert. Wenn Sie dann Ihre Anwendung ausfรผhren, stellen die Textfeld-Steuerelemente automatisch eine Verbindung zur Datenbank her, holen die Daten ab und zeigen sie in den Textfeld-Steuerelementen an. Hierzu ist vom Entwickler keine Codierung erforderlich.

Schauen wir uns ein Codebeispiel an, wie wir die Bindung von Steuerelementen erreichen kรถnnen.

In unserem Beispiel erstellen wir zwei Textfelder im Windows-Formular. Sie stellen jeweils die Tutorial-ID und den Tutorial-Namen dar. Sie werden entsprechend an die Felder Tutorial-ID und TutorialName der Datenbank gebunden.

Befolgen Sie dazu die unten aufgefรผhrten Schritte.

Schritt 1) Erstellen Sie das Grundformular. Ziehen Sie in das Formular zwei Komponenten per Drag & Drop โ€“ Beschriftungen und Textfelder. Fรผhren Sie dann die folgenden Unterschritte aus

  1. Geben Sie den Textwert der ersten Beschriftung als TutorialID ein
  2. Geben Sie den Textwert der zweiten Beschriftung als TutorialName ein
  3. Setzen Sie die Namenseigenschaft des ersten Textfelds als txtID
  4. Setzen Sie die Namenseigenschaft des zweiten Textfelds als txtName

Unten sehen Sie, wie das Formular aussehen wรผrde, wenn die oben genannten Schritte ausgefรผhrt wรผrden.

Steuerelemente mit Daten verbinden

Schritt 2) Der nรคchste Schritt besteht darin, dem Formular einen Bindungsnavigator hinzuzufรผgen. Das Bindungsnavigator-Steuerelement kann automatisch durch jede Zeile der Tabelle navigieren. Um den Bindungsnavigator hinzuzufรผgen, gehen Sie einfach zur Toolbox und ziehen Sie ihn in das Formular.

Steuerelemente mit Daten verbinden

Schritt 3) Der nรคchste Schritt besteht darin, eine Bindung zu unserer Datenbank hinzuzufรผgen. Dies kรถnnen Sie tun, indem Sie zu einem beliebigen Textfeld-Steuerelement gehen und auf die Eigenschaft DataBindings->Text klicken. Der Bindungsnavigator wird verwendet, um eine Verknรผpfung von Ihrer Anwendung zu einer Datenbank herzustellen.

Wenn Sie diesen Schritt ausfรผhren, fรผgt Visual Studio der Anwendung automatisch den erforderlichen Code hinzu, um sicherzustellen, dass die Anwendung mit der Datenbank verknรผpft ist. Normalerweise wird die Datenbank in Visual Studio als Projektdatenquelle bezeichnet. Um sicherzustellen, dass die Verbindung zwischen der Anwendung und der Datenbank hergestellt wird, besteht der erste Schritt darin, eine Projektdatenquelle zu erstellen.

Der folgende Bildschirm wird angezeigt. Klicken Sie auf den Link โ€žProjektdatenquelle hinzufรผgenโ€œ. Wenn Sie auf die Projektdatenquelle klicken, wird ein Assistent angezeigt. Dieser ermรถglicht Ihnen die Definition der Datenbankverbindung.

Steuerelemente mit Daten verbinden

Schritt 4) Sobald Sie auf den Link โ€žProjektdatenquelle hinzufรผgenโ€œ klicken, wird ein Assistent angezeigt, mit dem Sie eine Verbindung zur demotb-Datenbank herstellen kรถnnen. Die folgenden Schritte zeigen im Detail, was in jedem Schritt des Assistenten konfiguriert werden muss.

  1. Wรคhlen Sie im daraufhin angezeigten Bildschirm den Datenquellentyp โ€žDatenbankโ€œ aus und klicken Sie dann auf die Schaltflรคche โ€žWeiterโ€œ.

Steuerelemente mit Daten verbinden

  1. Im nรคchsten Bildschirm mรผssen Sie mit der Erstellung der Verbindungszeichenfolge zur Datenbank beginnen. Die Verbindungszeichenfolge wird benรถtigt, damit die Anwendung eine Verbindung zur Datenbank herstellen kann. Es enthรคlt die Parameter wie Servername, Datenbankname und den Namen des Treibers.
    1. Klicken Sie auf die Schaltflรคche Neue Verbindung
    2. Wรคhlen Sie die Datenquelle als Microsoft SQL Server
    3. Klicken Sie auf die Schaltflรคche Weiter.

Steuerelemente mit Daten verbinden

  1. Als Nรคchstes mรผssen Sie die Anmeldeinformationen hinzufรผgen, um eine Verbindung zur Datenbank herzustellen
    1. Wรคhlen Sie den Servernamen, auf dem sich der SQL Server befindet
    2. Geben Sie die Benutzer-ID und das Passwort ein, um eine Verbindung zur Datenbank herzustellen
    3. Wรคhlen Sie die Datenbank als Demotb
    4. Klicken Sie auf die Schaltflรคche โ€žOKโ€œ.

Steuerelemente mit Daten verbinden

  1. In diesem Bildschirm bestรคtigen wir alle Einstellungen, die auf den vorherigen Bildschirmen vorgenommen wurden.
    1. Wรคhlen Sie die Option โ€žJaโ€œ, um vertrauliche Daten in die Verbindungszeichenfolge aufzunehmen
    2. Klicken Sie auf die Schaltflรคche "Weiter".

Steuerelemente mit Daten verbinden

  1. Klicken Sie im nรคchsten Bildschirm auf die Schaltflรคche โ€žWeiterโ€œ, um die Erstellung der Verbindungszeichenfolge zu bestรคtigen

Steuerelemente mit Daten verbinden

  1. In diesem Schritt
  1. Wรคhlen Sie die Tabellen von Demotb aus, die im nรคchsten Bildschirm angezeigt werden.
  2. Diese Tabelle wird nun zu einer verfรผgbaren Datenquelle im C#-Projekt

Steuerelemente mit Daten verbinden

Wenn Sie auf die Schaltflรคche โ€žFertig stellenโ€œ klicken, Visual Studio stellt nun sicher, dass die Anwendung alle Zeilen in der Tabelle Demotb abfragen kann.

Schritt 5) Nachdem die Datenquelle definiert ist, mรผssen wir nun die Textfelder TutorialID und TutorialName mit der Demotb-Tabelle verbinden. Wenn Sie auf die Texteigenschaft des Textfelds TutorialID oder TutorialName klicken, sehen Sie nun, dass die Bindungsquelle zu Demotb verfรผgbar ist.

Wรคhlen Sie fรผr das erste Textfeld die Tutorial-ID. Wiederholen Sie diesen Schritt fรผr das zweite Textfeld und wรคhlen Sie das Feld als TutorialName. Die folgenden Schritte zeigen, wie wir zu jedem Steuerelement navigieren und die Bindung entsprechend รคndern kรถnnen.

  1. Klicken Sie auf das Steuerelement Tutorial-ID.

Steuerelemente mit Daten verbinden

  1. Im Eigenschaftenfenster sehen Sie die Eigenschaften des Textfelds TutorialID. Gehen Sie zur Texteigenschaft und klicken Sie auf den Abwรคrtspfeil.

Steuerelemente mit Daten verbinden

  1. Wenn Sie auf den Abwรคrtspfeil klicken, wird die Option demotbBinding Source angezeigt. Und darunter sehen Sie die Optionen TutorialName und TutorialID. Wรคhlen Sie die Tutorial-ID aus.

Steuerelemente mit Daten verbinden

Wiederholen Sie die obigen drei Schritte fรผr das Textfeld โ€žTutorialnameโ€œ.

  1. Klicken Sie also auf das Textfeld โ€žTutorial-Nameโ€œ
  2. Gehen Sie zum Eigenschaftenfenster
  3. Wรคhlen Sie die Eigenschaft Text
  4. Wรคhlen Sie unter demotbBindingSource die Option TutorialName aus

Schritt 6) Als Nรคchstes mรผssen wir die Eigenschaft โ€žBinding Sourceโ€œ des BindingNavigator so รคndern, dass sie auf unsere Demotb-Datenquelle verweist. Der Grund dafรผr ist, dass der Binding Navigator auch wissen muss, auf welche Tabelle er verweisen muss.

Der Binding Navigator wird verwendet, um den nรคchsten oder vorherigen Datensatz in der Tabelle auszuwรคhlen. Obwohl die Datenquelle dem gesamten Projekt und dem Textfeld-Steuerelement hinzugefรผgt wird, mรผssen wir dennoch sicherstellen, dass der Binding Navigator auch eine Verknรผpfung zu unserer Datenquelle hat. Dazu mรผssen wir auf das Binding Navigator-Objekt klicken, zur Eigenschaft Binding Source gehen und die verfรผgbare auswรคhlen.

Steuerelemente mit Daten verbinden

Als nรคchstes mรผssen wir zum Fenster โ€žEigenschaftenโ€œ gehen, damit wir die ร„nderung an der Eigenschaft โ€žBindungsquelleโ€œ vornehmen kรถnnen.

Steuerelemente mit Daten verbinden

Wenn alle oben genannten Schritte erfolgreich ausgefรผhrt wurden, erhalten Sie die unten stehende Ausgabe.

Ausgabe:-

Steuerelemente mit Daten verbinden

Wenn das Projekt jetzt gestartet wird, kรถnnen Sie sehen, dass die Textfelder automatisch die Werte aus der Tabelle erhalten.

Steuerelemente mit Daten verbinden

Wenn Sie im Navigator auf die Schaltflรคche Weiter klicken, wird automatisch zum nรคchsten Datensatz in der Tabelle gewechselt. Und die Werte des nรคchsten Datensatzes werden automatisch in die Textfelder eingefรผgt.

C# DataGridView

Datenraster werden verwendet, um Daten aus einer Tabelle in einem rasterรคhnlichen Format anzuzeigen. Wenn ein Benutzer die Tabellendaten sieht, mรถchte er normalerweise alle Tabellenzeilen auf einmal sehen. Dies kann erreicht werden, wenn wir die Daten in einem Raster auf dem Formular anzeigen kรถnnen.

C# und Visual Studio verfรผgen รผber integrierte Datenraster, die zur Anzeige von Daten verwendet werden kรถnnen. Sehen wir uns hierzu ein Beispiel an. In unserem Beispiel haben wir ein Datenraster, das zur Anzeige der Werte โ€žTutorial-IDโ€œ und โ€žTutorial-Nameโ€œ aus der Tabelle โ€ždemotbโ€œ verwendet wird.

Schritt 1) Ziehen Sie das DataGridView-Steuerelement aus der Toolbox in das Formular in Visual Studio. Das DataGridView-Steuerelement wird in Visual Studio verwendet, um die Zeilen einer Tabelle in einem rasterรคhnlichen Format anzuzeigen.

C# DataGridView

Schritt 2) Im nรคchsten Schritt mรผssen wir unser Datengrid mit der Datenbank verbinden. Im letzten Abschnitt hatten wir eine Projektdatenquelle erstellt. Lassen Sie uns in unserem Beispiel dieselbe Datenquelle verwenden.

  1. Zuerst mรผssen Sie das Raster auswรคhlen und auf den Pfeil im Raster klicken. Dadurch werden die Rasterkonfigurationsoptionen angezeigt.
  2. Wรคhlen Sie in den Konfigurationsoptionen einfach die Datenquelle demotbBindingSource aus, bei der es sich um die im vorherigen Abschnitt erstellte Datenquelle handelt.

C# DataGridView

Wenn alle oben genannten Schritte wie gezeigt ausgefรผhrt werden, erhalten Sie die unten stehende Ausgabe.

Ausgabe:-

C# DataGridView

Anhand der Ausgabe kรถnnen Sie erkennen, dass das Raster mit den Werten aus der Datenbank gefรผllt wurde.

Zusammenfassung

  • C# SQL kann mit Datenbanken wie arbeiten Oracle und Microsoft SQL Server.
  • Dieses C#-Datenbank-Tutorial enthรคlt alle Befehle, die zum Arbeiten mit Datenbanken erforderlich sind. Dazu muss eine Verbindung zur Datenbank hergestellt werden. Mit den Befehlen in C# kรถnnen Sie Vorgรคnge wie Auswรคhlen, Aktualisieren, Einfรผgen und Lรถschen ausfรผhren.
  • Das DataReader-Objekt in C# wird zum Speichern aller von der Datenbank zurรผckgegebenen Daten verwendet. Mit der While-Schleife in C# kรถnnen die Datenzeilen einzeln gelesen werden.
  • Das Datenadapterobjekt wird verwendet, um SQL-Operationen wie Einfรผgen, Lรถschen und Aktualisieren in der Datenbank auszufรผhren.
  • C# kann Steuerelemente an die verschiedenen Felder in einer Tabelle binden. Sie werden durch die Definition einer Datenquelle in C# gebunden. Die Datenquelle wird verwendet, um die Daten aus der Datenbank abzurufen und in die Steuerelemente einzufรผgen.
  • Der Bindungsnavigator wird verwendet, um automatisch durch die Zeilen einer Tabelle zu navigieren.
  • Das Datenraster in C# kann eine Verbindung zur Datenbank herstellen und alle Werte aus der Tabelle in einem rasterรคhnlichen Format anzeigen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: