C#-Datenbankverbindung: So verbinden Sie SQL Server (Beispiel)
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
- Im Projektdialogfeld sehen wir verschiedene Optionen zum Erstellen unterschiedlicher Projekttypen in Visual Studio. Klicken Sie auf das Windows Option auf der linken Seite.
- 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.
- Anschlieรend geben wir der Anwendung einen Namen, in unserem Fall โDemoApplicationโ. Wir mรผssen auch einen Speicherort fรผr unsere Anwendung angeben.
- 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
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.
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:-
- Der erste Schritt besteht darin, Variablen zu erstellen, die zum Erstellen der Verbindungszeichenfolge und der Verbindung zur SQL Server-Datenbank verwendet werden.
- 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
- 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.
- Der Anfangskatalog wird verwendet, um den Namen der Datenbank anzugeben
- Die Benutzer-ID und das Passwort sind die Anmeldeinformationen, die zum Herstellen einer Verbindung zur Datenbank erforderlich sind.
- 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.
- 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.
- 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:-
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.
- Eine Tabelle namens demotb. Diese Tabelle wird zum Speichern der ID und Namen verschiedener Tutorials verwendet.
- Die Tabelle enthรคlt zwei Spalten, eine mit dem Namen โTutorialIDโ und die andere mit dem Namen โTutorialNameโ.
- 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.
Code-Erklรคrung:-
- Der erste Schritt besteht darin, die folgenden Variablen zu erstellen
- 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.
- 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.
- 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.
- 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.
- 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.
- Als nรคchstes fรผhren wir den Datenleserbefehl aus, der alle Zeilen aus der Tabelle demotb abruft.
- 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.
Code-Erklรคrung:-
- 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.
- 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:-
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.
Code-Erklรคrung:-
- Der erste Schritt besteht darin, die folgenden Variablen zu erstellen
- 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.
- Das DataAdapter-Objekt wird verwendet, um bestimmte SQL-Operationen wie Einfรผge-, Lรถsch- und Aktualisierungsbefehle auszufรผhren.
- Anschlieรend definieren wir eine String-Variable, nรคmlich โSQLโ, um unsere SQL-Befehlszeichenfolge zu speichern.
- 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
- 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
- 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.
- 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:-
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#-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# SqlCommand-Beispiel mit Code-Erklรคrung: โ
- Der erste Schritt besteht darin, die folgenden Variablen zu erstellen
- 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.
- Das Dataadapterobjekt wird zum Ausfรผhren bestimmter SQL-Operationen wie Einfรผge-, Lรถsch- und Aktualisierungsbefehlen verwendet.
- Anschlieรend definieren wir eine String-Variable, die SQL ist, um unsere SQL-Befehlszeichenfolge zu speichern.
- 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.
- 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.
- 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.
- 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:-
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.
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.
Code-Erklรคrung:-
- 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.
- 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:-
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.
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
- Geben Sie den Textwert der ersten Beschriftung als TutorialID ein
- Geben Sie den Textwert der zweiten Beschriftung als TutorialName ein
- Setzen Sie die Namenseigenschaft des ersten Textfelds als txtID
- 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.
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.
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.
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.
- Wรคhlen Sie im daraufhin angezeigten Bildschirm den Datenquellentyp โDatenbankโ aus und klicken Sie dann auf die Schaltflรคche โWeiterโ.
- 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.
- Klicken Sie auf die Schaltflรคche Neue Verbindung
- Wรคhlen Sie die Datenquelle als Microsoft SQL Server
- Klicken Sie auf die Schaltflรคche Weiter.
- Als Nรคchstes mรผssen Sie die Anmeldeinformationen hinzufรผgen, um eine Verbindung zur Datenbank herzustellen
- Wรคhlen Sie den Servernamen, auf dem sich der SQL Server befindet
- Geben Sie die Benutzer-ID und das Passwort ein, um eine Verbindung zur Datenbank herzustellen
- Wรคhlen Sie die Datenbank als Demotb
- Klicken Sie auf die Schaltflรคche โOKโ.
- In diesem Bildschirm bestรคtigen wir alle Einstellungen, die auf den vorherigen Bildschirmen vorgenommen wurden.
- Wรคhlen Sie die Option โJaโ, um vertrauliche Daten in die Verbindungszeichenfolge aufzunehmen
- Klicken Sie auf die Schaltflรคche "Weiter".
- Klicken Sie im nรคchsten Bildschirm auf die Schaltflรคche โWeiterโ, um die Erstellung der Verbindungszeichenfolge zu bestรคtigen
- In diesem Schritt
- Wรคhlen Sie die Tabellen von Demotb aus, die im nรคchsten Bildschirm angezeigt werden.
- Diese Tabelle wird nun zu einer verfรผgbaren Datenquelle im C#-Projekt
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.
- Klicken Sie auf das Steuerelement Tutorial-ID.
- Im Eigenschaftenfenster sehen Sie die Eigenschaften des Textfelds TutorialID. Gehen Sie zur Texteigenschaft und klicken Sie auf den Abwรคrtspfeil.
- 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.
Wiederholen Sie die obigen drei Schritte fรผr das Textfeld โTutorialnameโ.
- Klicken Sie also auf das Textfeld โTutorial-Nameโ
- Gehen Sie zum Eigenschaftenfenster
- Wรคhlen Sie die Eigenschaft Text
- 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.
Als nรคchstes mรผssen wir zum Fenster โEigenschaftenโ gehen, damit wir die รnderung an der Eigenschaft โBindungsquelleโ vornehmen kรถnnen.
Wenn alle oben genannten Schritte erfolgreich ausgefรผhrt wurden, erhalten Sie die unten stehende Ausgabe.
Ausgabe:-
Wenn das Projekt jetzt gestartet wird, kรถnnen Sie sehen, dass die Textfelder automatisch die Werte aus der Tabelle erhalten.
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.
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.
- Zuerst mรผssen Sie das Raster auswรคhlen und auf den Pfeil im Raster klicken. Dadurch werden die Rasterkonfigurationsoptionen angezeigt.
- Wรคhlen Sie in den Konfigurationsoptionen einfach die Datenquelle demotbBindingSource aus, bei der es sich um die im vorherigen Abschnitt erstellte Datenquelle handelt.
Wenn alle oben genannten Schritte wie gezeigt ausgefรผhrt werden, erhalten Sie die unten stehende Ausgabe.
Ausgabe:-
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.




































