C# 数据库连接教程:连接 SQL Server 并实现增删改查操作
数据库操作是 C# 开发者核心技能。本指南演示如何连接 Microsoft SQL Server、执行查询并将数据绑定到 Windows Forms 控件。
数据库连接基础
无论使用 Oracle、MySQL、MongoDB 还是 Microsoft SQL Server,连接、查询、插入、更新、删除数据的流程一致。本教程聚焦 SQL Server,使用免费 SQL Server Express 版。
- 连接字符串 – 包含服务器名、数据库名、凭据。
- 凭据 – 拥有必要权限的用户名和密码。
- 可选参数 – 如连接超时、加密等。
C# 中的 SQL 命令
SqlCommand 类向数据库发送 SQL 语句。SELECT 查询用 ExecuteReader,INSERT/UPDATE/DELETE 用 ExecuteNonQuery。
连接 C# 到 SQL Server
下面最小 Windows Forms 示例建立到名为 Demodb 数据库的连接,凭据 sa / demo123。按钮点击事件打开连接、显示消息并关闭。
步骤 1:在 Visual Studio 创建 Windows Forms 项目。步骤 2:添加按钮 btnConnect,文本 "Connect"。步骤 3:添加如下事件处理器:
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("Connection Opened!");
conn.Close();
}
}
}
}
运行应用,点击按钮,将看到确认消息。
使用 SqlDataReader 读取数据
假设表 demotb 存在,列 TutorialID 和 TutorialName:
| TutorialID | TutorialName |
|---|---|
| 1 | C# |
| 2 | ASP.NET |
用以下代码获取并显示行:
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"]}, Name: {reader["TutorialName"]}\n";
}
MessageBox.Show(output);
}
插入记录
添加新教程(ID 3,Name VB.NET)执行:
string insertSql = "INSERT INTO demotb (TutorialID, TutorialName) VALUES (3, 'VB.NET')";
using (SqlCommand cmd = new SqlCommand(insertSql, conn)) {
cmd.ExecuteNonQuery();
}
更新记录
将 ID 3 的教程更新为 "VB.NET Complete":
string updateSql = "UPDATE demotb SET TutorialName = 'VB.NET Complete' WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(updateSql, conn)) {
cmd.ExecuteNonQuery();
}
删除记录
移除 ID 3 的记录:
string deleteSql = "DELETE FROM demotb WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(deleteSql, conn)) {
cmd.ExecuteNonQuery();
}
控件数据绑定
Windows Forms 提供数据绑定,免去手动 UI 更新。拖拽两个 TextBox 命名 txtID、txtName,添加 BindingNavigator。
用数据源向导为 demotb 创建项目数据源。然后:
- 选中
txtID,属性窗口点 DataBindings → Text,绑定到demotbBindingSource – TutorialID。 txtName同理绑定TutorialName。- 设置
BindingNavigator的BindingSource为demotbBindingSource。
运行窗体;文本框显示首条记录,导航器自动翻页。
用 DataGridView 显示数据
拖拽 DataGridView 到窗体。属性中设 DataSource 为 demotbBindingSource。网格自动填充表中所有行。
总结
- 用
SqlConnection和正确连接字符串连接 SQL Server。 SqlCommand配合ExecuteNonQuery执行增删改。SqlDataReader读取数据,while循环处理行。- 将 UI 控件绑定到
BindingSource实现自动显示和导航。 DataGridView即时呈现表格数据。
C语言
- 直接将乐高 Mindstorms NXT 超声波传感器连接到树莓派
- 服务器自动化:从桌面宏到FANG平台
- 强化美国供应链:内陆港的战略角色
- Haas CNC 连接 PC/笔记本电脑完整步骤指南
- 感知机神经网络入门指南:用简单示例实现数据分类
- 深度解析混淆 VPN 服务器:原理、价值与适用场景
- 30分钟在3美元ESP8266上部署TLS加密Web服务器:Minnow Server实战指南
- C 语言字符串完全指南:声明、输入输出与库函数详解
- C 语言 realloc() 完全指南:语法、最佳实践与实战案例
- C 语言 free() 函数实战指南:正确释放动态内存、防泄漏与避坑全解析
- Java String length() 方法:获取字符串长度(示例)
- Java BufferedReader 读取文件:实战指南与示例