C#+SQLServer 用户信息增删改查实战

1. 概述

本文使用C#语言,SQLServer数据库,实现用户信息增加、删除、修改、查询功能。其中展示用户信息使用了DataGridView控件。

2. 数据库设计

数据库UserManageProjectDb,含user表,表结构如下:

USE [UserManageProjectDb]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[user](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [name] [nvarchar](50) NULL,
    [sex] [nvarchar](50) NULL,
    [age] [int] NULL,
    [password] [nvarchar](50) NULL,
    [idNum] [nvarchar](50) NULL
) ON [PRIMARY]
GO

3. 项目开发

3.1 界面设计

设计如下图

C#+SQLServer 用户信息增删改查实战

3.2 定义数据库访问字符串、数据库连接

因为需要访问SQL Server数据库,所以定义类变量,存储访问字符串和数据库连接:


 protected static String strCon = "Data Source=127.0.0.1;Initial Catalog=UserManageProjectDb;Integrated Security=False;User ID=sa;Password=123456";

       protected SqlConnection con = new SqlConnection(strCon);

1

2

3.2 查询用户

当点击查询用户按钮时,从数据库中查出用户信息,显示到数据表格中:


       // 查询用户

       private void buttonQuery_Click(object sender, EventArgs e)

       {

           // 打开数据库连接

           con.Open();

           // 定义操作数据库的sql语句

           string sql = "select * from [user]";

           // 形成操作命令

           SqlCommand cmd = new SqlCommand(sql, con);

           // 执行命令

           SqlDataReader sdr = cmd.ExecuteReader();

           // 读取结果赋给数据源

           BindingSource bs = new BindingSource();

           bs.DataSource = sdr;

           // 显示

           this.dataGridView1.DataSource = bs;

           // 修改列标题

           this.dataGridView1.Columns["id"].HeaderText = "编号";

           this.dataGridView1.Columns["name"].HeaderText = "姓名";

           this.dataGridView1.Columns["sex"].HeaderText = "性别";

           this.dataGridView1.Columns["age"].HeaderText = "年龄";

           this.dataGridView1.Columns["password"].HeaderText = "密码";

           this.dataGridView1.Columns["idNum"].HeaderText = "身份证号";

           con.Close();

       }


3.3 新增用户

当点击新增用户时,将文本框中输入的用户信息,新增到数据库中,然后再执行一次查询,以便在界面上加载最新用户列表。


   // 新增用户

       private void buttonAdd_Click(object sender, EventArgs e)

       {

           // 打开连接

           con.Open();

           // 定义sql语句

           string sql = "insert into [user] (name,sex,age,password,idNum)" +

               "values('"+textName.Text+"','"+textSex.Text+"','"+textAge.Text+"','"+

               textPassword.Text+"','"+textIdNum.Text+"')";

           // 创建命令

           SqlCommand cmd = new SqlCommand(sql, con);

           cmd.ExecuteNonQuery();

           // 及时关闭连接

           con.Close();

           // 接着立即查询

           this.buttonQuery_Click(sender,e);

       }


3.4 删除用户

点击删除按钮时,删除选中行对应的用户数据,然后刷新。


 // 删除数据

       private void buttonRemove_Click(object sender, EventArgs e)

       {

           string id=this.dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();

           // 打开连接

           con.Open();

           // 定义sql语句

           string sql = "delete from [user] where id="+id;

           // 创建命令

           SqlCommand cmd = new SqlCommand(sql, con);

           cmd.ExecuteNonQuery();

           // 及时关闭连接

           con.Close();

           // 接着立即查询

           this.buttonQuery_Click(sender, e);

       }


3.5 修改用户

首先,选中用户信息发生变化时,应将用户信息带入下面的文本框:


   // 选中行发生变化时候

       private void dataGridView1_SelectionChanged(object sender, EventArgs e)

       {

           if (this.dataGridView1.SelectedRows.Count == 0)

               return;

           string id = this.dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();

           string name = this.dataGridView1.SelectedRows[0].Cells["name"].Value.ToString();

           string sex = this.dataGridView1.SelectedRows[0].Cells["sex"].Value.ToString();

           string age= this.dataGridView1.SelectedRows[0].Cells["age"].Value.ToString();

           string password = this.dataGridView1.SelectedRows[0].Cells["password"].Value.ToString();

           string idNum = this.dataGridView1.SelectedRows[0].Cells["idNum"].Value.ToString();


           textName.Text = name;

           textSex.Text = sex;

           textAge.Text = age;

           textPassword.Text = password;

           textIdNum.Text = idNum;

       }


然后点击修改后,将文本框内容,提交到选中行对应的记录中。


 // 修改用户

       private void buttonEdit_Click(object sender, EventArgs e)

       {

           string id = this.dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();

           string name = textName.Text;

           string sex = textSex.Text;

           string age = textAge.Text;

           string password = textPassword.Text;

           string idNum = textIdNum.Text;

           // 打开连接

           con.Open();

           // 定义sql语句

           string sql = "update [user] set name='"+name+"',sex='"+sex+"',age='"+age+"',password='"+password

               +"',idNum='"+idNum+"' where id='"+id+"'";

           // 创建命令

           SqlCommand cmd = new SqlCommand(sql, con);

           cmd.ExecuteNonQuery();

           // 及时关闭连接

           con.Close();

           // 接着立即查询

           this.buttonQuery_Click(sender, e);

       }


4. 小结

本节用一个非常原始的方式,实现了用户信息的增删改查,具备一定的借鉴意义。

上一篇:JavaWeb学习之路(52)–CSS应用实例之下拉菜单


下一篇:小程序template和component的区别