C# WinForm 数据库增删改查 超级完整版
一、准备工作
- 安装SQL Server
- 创建数据库 + 表
- WinForm 拖入:
DataGridView(显示数据)TextBox(输入)Button(增删改查)
二、引入命名空间(必须写)
using System.Data; using System.Data.SqlClient;三、数据库连接字符串(最关键)
// Windows 身份验证 string connStr = "Data Source=.;Initial Catalog=你的数据库名;Integrated Security=True"; // SQL Server 账号密码登录 string connStr = "Data Source=.;Initial Catalog=你的数据库名;User ID=sa;Password=123456";四、【查】查询所有数据(加载到 DataGridView)
最常用、最基础
private void btnSelect_Click(object sender, EventArgs e) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); string sql = "SELECT * FROM 表名"; SqlDataAdapter sda = new SqlDataAdapter(sql, conn); DataTable dt = new DataTable(); sda.Fill(dt); dataGridView1.DataSource = dt; } }五、【增】添加数据(安全版,防 SQL 注入)
private void btnAdd_Click(object sender, EventArgs e) { string name = txtName.Text; string age = txtAge.Text; using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); // 安全写法:参数化,绝不拼接SQL! string sql = "INSERT INTO 表名(Name,Age) VALUES(@Name,@Age)"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@Name", name); cmd.Parameters.AddWithValue("@Age", age); int rows = cmd.ExecuteNonQuery(); if (rows > 0) MessageBox.Show("添加成功!"); else MessageBox.Show("添加失败!"); } // 刷新表格 btnSelect_Click(null, null); }六、【改】修改数据
private void btnUpdate_Click(object sender, EventArgs e) { string id = txtId.Text; string name = txtName.Text; string age = txtAge.Text; using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); string sql = "UPDATE 表名 SET Name=@Name,Age=@Age WHERE Id=@Id"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@Id", id); cmd.Parameters.AddWithValue("@Name", name); cmd.Parameters.AddWithValue("@Age", age); int rows = cmd.ExecuteNonQuery(); if (rows > 0) MessageBox.Show("修改成功!"); } btnSelect_Click(null, null); }七、【删】删除数据
private void btnDelete_Click(object sender, EventArgs e) { string id = txtId.Text; using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); string sql = "DELETE FROM 表名 WHERE Id=@Id"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@Id", id); int rows = cmd.ExecuteNonQuery(); if (rows > 0) MessageBox.Show("删除成功!"); } btnSelect_Click(null, null); }八、点击 DataGridView 自动填充到文本框
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { DataGridViewRow row = dataGridView1.Rows[e.RowIndex]; txtId.Text = row.Cells["Id"].Value.ToString(); txtName.Text = row.Cells["Name"].Value.ToString(); txtAge.Text = row.Cells["Age"].Value.ToString(); } }九、核心知识点(新手必背)
1.SqlConnection→ 连接数据库
2.SqlCommand→ 执行 SQL 语句
3.SqlDataAdapter→ 填充表格
4.Parameters→防 SQL 注入,必须用!
5.ExecuteNonQuery()→ 执行增删改
6.ExecuteScalar()→ 查询单个值
7.using→ 自动关闭连接
十、新手最容易犯的 4 个错
- 拼接 SQL 字符串→ 必被注入
- 忘记 Open 连接→ 报错
- 不写 using→ 连接泄漏
- 字段名写错→ 运行不显示数据
十一、一句话总结(可做博客金句)
C# WinForm 数据库增删改查 = 连接 → 写 SQL → 参数化 → 执行 → 刷新表格简单、稳定、安全,项目开发必备!
