三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

C# WinForm 数据库增删改查 超级完整版

C# WinForm 数据库增删改查 超级完整版

一、准备工作

  1. 安装SQL Server
  2. 创建数据库 + 表
  3. 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 个错

  1. 拼接 SQL 字符串→ 必被注入
  2. 忘记 Open 连接→ 报错
  3. 不写 using→ 连接泄漏
  4. 字段名写错→ 运行不显示数据

十一、一句话总结(可做博客金句)

C# WinForm 数据库增删改查 = 连接 → 写 SQL → 参数化 → 执行 → 刷新表格简单、稳定、安全,项目开发必备!

← 返回列表