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

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 本文目录1. 概述2. 数据库设计3. 项目开发3.1 界面设计3.2 定义数据库访问字符串、数据库连接3.2 查询用户3.3 新增用户3.4 删除用户3.5 修改用户4. 小结

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 界面设计

设计如下图

image.png

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. 小结

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

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
5天前
|
SQL 开发框架 .NET
C#进阶-LINQ实现对集合的增删改查
本篇演示了LINQ在日常开发中的常用操作,实现结果集的增删改查。目前LINQ支持两种语法,我会在每个案例前先用大家熟知的SQL语句表达,再在后面用C#的两种LINQ语法分别实现。LINQ语法第一次接触难免感到陌生,最好的学习方式就是在项目中多去使用,相信会有很多感悟。
44 0
|
SQL 程序员 数据库
【python】连接sql server数据库,并实现简单的增删改查(1)
Python编程语言越来越受到大家的喜爱,本篇文章就从链接微软数据库进行增删改查操作的讲解
538 0
|
5天前
|
SQL 存储 数据库连接
C#SQL Server数据库基本操作(增、删、改、查)
C#SQL Server数据库基本操作(增、删、改、查)
10 0
|
5天前
|
SQL 数据库
sql server 增删改查(基本用法)
sql server 增删改查(基本用法)
|
5天前
|
存储 开发框架 前端开发
C#开发的全套成熟的LIS系统源码JavaScript+SQLserver 2012区域云LIS系统源码
医院云LIS系统是一套成熟的实验室信息管理系统,目前已在多家三级级医院应用,并不断更新。云LIS系统是为病人为中心、以业务处理为基础、以提高检验科室管理水平和工作效率为目标,将医学检验、科室管理和财务统计等检验科室/实验室所有工作进行整合,全面改善检验科室/实验室的工作现状。
21 0
|
5天前
|
安全 算法 测试技术
C#编程实战:项目案例分析
【4月更文挑战第20天】本文以电子商务系统为例,探讨C#在实际项目中的应用。通过面向对象编程实现组件抽象和封装,确保代码的可维护性和可扩展性;利用安全性特性保护用户数据;借助数据库操作处理商品信息;通过逻辑控制和算法处理订单;调试工具加速问题解决,展现C#的优势:面向对象、数据库交互、数据安全和开发效率。C#在实际编程中展现出广泛前景。
|
5天前
|
SQL 前端开发 数据库连接
C# Lable增删改查
C# Lable增删改查
27 0
|
5天前
|
数据采集 监控 调度
C#网络爬虫之TianyaCrawler实战经验分享
C#网络爬虫之TianyaCrawler实战经验分享
|
5天前
|
数据可视化 C# 图形学
【Unity 3D】图形界面GUI的讲解及在C#中实现用户登录界面的实战(附源码)
【Unity 3D】图形界面GUI的讲解及在C#中实现用户登录界面的实战(附源码)
79 0
|
5月前
|
数据采集 JSON JavaScript
C# 解析“JSON“格式数据和网络实战案例 入门
C# 解析“JSON“格式数据和网络实战案例 入门

相关实验场景

更多
http://www.vxiaotou.com