C# Databaseverbinding Tutorial: Verbinden met SQL Server en CRUD-operaties Uitvoeren
Werken met een database is een kernvaardigheid voor elke C#-ontwikkelaar. Deze gids laat zien hoe je verbindt met Microsoft SQL Server, queries uitvoert en data bindt aan Windows Forms-controls.
Fundamentelen van Databaseconnectiviteit
Of je nu Oracle, MySQL, MongoDB of Microsoft SQL Server gebruikt, het proces van verbinden, queryen, invoegen, bijwerken en verwijderen van data blijft consistent. In deze tutorial richten we ons op SQL Server, met de gratis SQL Server Express-editie.
- Connection string – bevat servernaam, databasenaam en credentials.
- Credentials – gebruikersnaam en wachtwoord met de benodigde privileges.
- Optionele parameters – bijv. connection timeout, encryptie.
SQL-commando's in C#
ExecuteReader voor SELECT-queries en ExecuteNonQuery voor INSERT, UPDATE en DELETE.
C# Verbinden met SQL Server
Hieronder is een minimaal Windows Forms-voorbeeld dat een verbinding tot stand brengt met een database genaamd Demodb met credentials sa / demo123. De button-click-event opent de verbinding, toont een bericht en sluit het.
Stap 1: Maak een Windows Forms-project in Visual Studio. Stap 2: Voeg een Button toe genaamd btnConnect met de tekst "Verbinden". Stap 3: Voeg de volgende eventhandler toe:
using System;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace DemoApplication1 {
public partial class Form1 : Form {
public Form1() => InitializeComponent();
private void btnConnect_Click(object sender, EventArgs e) {
string connectionString = "Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123";
using (SqlConnection conn = new SqlConnection(connectionString)) {
conn.Open();
MessageBox.Show("Verbinding Geopend!");
conn.Close();
}
}
}
}
Draai de applicatie, klik op de knop, en je ziet een bevestigingsbericht.
Data Lezen met SqlDataReader
Stel een tabel demotb bestaat met kolommen TutorialID en TutorialName:
| TutorialID | TutorialName |
|---|---|
| 1 | C# |
| 2 | ASP.NET |
Gebruik de volgende code om de rijen op te halen en weer te geven:
string sql = "SELECT TutorialID, TutorialName FROM demotb";
using (SqlCommand cmd = new SqlCommand(sql, conn))
using (SqlDataReader reader = cmd.ExecuteReader()) {
string output = "";
while (reader.Read()) {
output += $"ID: {reader[\"TutorialID\"]}, Naam: {reader[\"TutorialName\"]}\n";
}
MessageBox.Show(output);
}
Een Record Invoegen
Om een nieuwe tutorial toe te voegen (ID 3, Naam VB.NET) voer uit:
string insertSql = "INSERT INTO demotb (TutorialID, TutorialName) VALUES (3, 'VB.NET')";
using (SqlCommand cmd = new SqlCommand(insertSql, conn)) {
cmd.ExecuteNonQuery();
}
Een Record Bijwerken
Update de tutorial met ID 3 naar "VB.NET Complete":
string updateSql = "UPDATE demotb SET TutorialName = 'VB.NET Complete' WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(updateSql, conn)) {
cmd.ExecuteNonQuery();
}
Een Record Verwijderen
Verwijder het record met ID 3:
string deleteSql = "DELETE FROM demotb WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(deleteSql, conn)) {
cmd.ExecuteNonQuery();
}
Controls Binden aan Data
Windows Forms biedt databinding, wat de noodzaak voor handmatige UI-updates elimineer. Sleep twee TextBox-controls op het formulier, noem ze txtID en txtName, en voeg een BindingNavigator toe.
Gebruik de Data Source-wizard om een project-databron te maken voor demotb. Dan:
- Selecteer
txtID, ga naar het Properties-venster, klik DataBindings → Text, en bind aandemotbBindingSource – TutorialID. - Herhaal voor
txtNamemetTutorialName. - Stel de
BindingNavigator'sBindingSource-property in opdemotbBindingSource.
Draai het formulier; de tekstboxen tonen het eerste record, en de navigator beweegt automatisch door de rijen.
Data Weergeven met een DataGridView
Sleep een DataGridView op het formulier. In de properties, stel de DataSource in op demotbBindingSource. De grid vult zich met alle rijen uit de tabel.
Samenvatting
- Verbind met SQL Server met
SqlConnectionen een correcte connection string. - Voer CRUD-operaties uit met
SqlCommandenExecuteNonQuery. - Lees data met
SqlDataReaderen verwerk rijen in eenwhile-lus. - Bind UI-controls aan een
BindingSourcevoor automatische dataweergave en navigatie. - Gebruik
DataGridViewom tabulaire data direct te presenteren.
C Taal
- Een Lego Mindstorms NXT-ultrasone sensor direct verbinden met een Raspberry Pi
- Serverautomatisering: Van desktop macro's naar FANG-platforms
- VS Toeleveringsketens Verbeteren: De Strategische Rol van Binnenhavens
- Uw Haas CNC verbinden met een PC of Laptop: Stap-voor-stap Handleiding
- Obfuscatie VPN-servers Begrijpen: Hoe Ze Werken en Waarom Ze Belangrijk Zijn
- Een TLS-ingeschakelde Web Server Deployen op een $3 ESP8266 in Onder 30 Minuten
- C Strings Makkelijk Gemaakt: Declaratie, Invoer, Uitvoer en Bibliotheekfuncties
- realloc() in C gebruiken: Syntaxis, best practices & voorbeeld
- Beheersing van C's free() functie: Praktische gids & voorbeeld
- Java String length() Methode: Hoe de grootte van een String op te vragen (Voorbeeld)
- Bestanden Lezen in Java met BufferedReader – Een Praktische Gids met Voorbeelden