当前位置:首页 > 行业动态 > 正文

c#实现数据库的增删查改页面

本文介绍了如何使用C#实现对数据库的增删查改操作,并展示了相应的页面设计。

在C#中实现数据库的增删查改(CRUD)操作,通常需要结合Windows Forms或WPF等图形界面技术,以下是一个基于Windows Forms的示例,展示如何实现一个简单的CRUD页面。

准备工作

确保你已经安装了Visual Studio和SQL Server,如果没有,请先安装这些软件。

创建数据库

在SQL Server Management Studio中,创建一个新数据库和一个表。

CREATE DATABASE TestDB;
USE TestDB;
CREATE TABLE Employees (
    Id INT PRIMARY KEY IDENTITY(1,1),
    Name NVARCHAR(50),
    Age INT,
    Position NVARCHAR(50)
);

创建Windows Forms项目

打开Visual Studio,创建一个新的Windows Forms App项目。

设计界面

在Form上添加以下控件:

TextBox:用于输入员工姓名、年龄和职位。

c#实现数据库的增删查改页面

Button:用于执行增、删、查、改操作。

DataGridView:用于显示员工列表。

编写代码

1 连接数据库

在Form的代码文件中,添加一个方法来连接数据库:

private SqlConnection GetConnection()
{
    return new SqlConnection("Server=YOUR_SERVER;Database=TestDB;Integrated Security=True");
}

2 查询数据

添加一个方法来填充DataGridView:

private void LoadData()
{
    using (SqlConnection conn = GetConnection())
    {
        conn.Open();
        string query = "SELECT * FROM Employees";
        SqlCommand cmd = new SqlCommand(query, conn);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        DataTable table = new DataTable();
        adapter.Fill(table);
        dataGridView1.DataSource = table;
    }
}

在Form的Load事件中调用LoadData方法:

c#实现数据库的增删查改页面

private void Form1_Load(object sender, EventArgs e)
{
    LoadData();
}

3 插入数据

为“添加”按钮添加点击事件处理程序:

private void btnAdd_Click(object sender, EventArgs e)
{
    using (SqlConnection conn = GetConnection())
    {
        conn.Open();
        string query = "INSERT INTO Employees (Name, Age, Position) VALUES (@Name, @Age, @Position)";
        SqlCommand cmd = new SqlCommand(query, conn);
        cmd.Parameters.AddWithValue("@Name", txtName.Text);
        cmd.Parameters.AddWithValue("@Age", Convert.ToInt32(txtAge.Text));
        cmd.Parameters.AddWithValue("@Position", txtPosition.Text);
        cmd.ExecuteNonQuery();
    }
    LoadData(); // 重新加载数据以更新DataGridView
}

4 删除数据

为“删除”按钮添加点击事件处理程序:

private void btnDelete_Click(object sender, EventArgs e)
{
    if (dataGridView1.SelectedRows.Count > 0)
    {
        int id = (int)dataGridView1.SelectedRows[0].Cells[0].Value;
        using (SqlConnection conn = GetConnection())
        {
            conn.Open();
            string query = "DELETE FROM Employees WHERE Id = @Id";
            SqlCommand cmd = new SqlCommand(query, conn);
            cmd.Parameters.AddWithValue("@Id", id);
            cmd.ExecuteNonQuery();
        }
        LoadData(); // 重新加载数据以更新DataGridView
    }
    else
    {
        MessageBox.Show("请选择一个要删除的员工!");
    }
}

5 更新数据

为“更新”按钮添加点击事件处理程序:

private void btnUpdate_Click(object sender, EventArgs e)
{
    if (dataGridView1.SelectedRows.Count > 0)
    {
        int id = (int)dataGridView1.SelectedRows[0].Cells[0].Value;
        string name = txtName.Text;
        int age = Convert.ToInt32(txtAge.Text);
        string position = txtPosition.Text;
        using (SqlConnection conn = GetConnection())
        {
            conn.Open();
            string query = "UPDATE Employees SET Name = @Name, Age = @Age, Position = @Position WHERE Id = @Id";
            SqlCommand cmd = new SqlCommand(query, conn);
            cmd.Parameters.AddWithValue("@Id", id);
            cmd.Parameters.AddWithValue("@Name", name);
            cmd.Parameters.AddWithValue("@Age", age);
            cmd.Parameters.AddWithValue("@Position", position);
            cmd.ExecuteNonQuery();
        }
        LoadData(); // 重新加载数据以更新DataGridView
    }
    else
    {
        MessageBox.Show("请选择一个要更新的员工!");
    }
}

运行项目

你可以运行项目并测试增、删、查、改功能了。

相关问答FAQs

Q1: 如果我想在删除或更新时进行确认提示,应该怎么做?

c#实现数据库的增删查改页面

A1: 你可以在删除或更新操作前使用MessageBox.Show方法显示一个确认对话框,并根据用户的选择决定是否继续执行操作。

if (MessageBox.Show("确定要删除此员工吗?", "确认删除", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
    // 执行删除操作...
}

Q2: 如何处理可能的输入错误,比如年龄输入非数字字符?

A2: 你可以在用户输入后验证数据格式,并在发现错误时显示错误消息。

try
{
    int age = Convert.ToInt32(txtAge.Text);
}
catch (FormatException)
{
    MessageBox.Show("请输入有效的年龄!");
    return; // 阻止进一步操作
}