一、准备工作

  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 → 参数化 → 执行 → 刷新表格 简单、稳定、安全,项目开发必备!

更多推荐