1、问题描述:

对职工信息进行管理,包括:职工信息的录入、显示、查询、修改、删除,要求有用户登录等windows窗口,用户数据存在数据库里。要求有用户登录等windows窗口,用户数据存在数据库里,并体现面向对象编程思想。

2、功能要求:

(1)录入职工信息并保存(职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,并且要求职工号不重复;)

(2)显示所有职工信息

(3)查询职工信息(可按工号、按学历、按职务查询)

(4)修改职工信息并保存

(5)删除职工信息

(6)退出系统

值得一提的:

在c#中使用存储过程的写法

SqlCommand sqlcmd = new SqlCommand();
            sqlcmd.CommandType = System.Data.CommandType.StoredProcedure;
            sqlcmd.Connection = conn;
            sqlcmd.CommandText = "xxxg";
            sqlcmd.Parameters.Add("@职工号", SqlDbType.VarChar, 10).Value = textBox2.Text;

在c#中使用Bindingsource已经dataset的用法,dataGridview的列名设置。

bs = new BindingSource();
            SqlDataAdapter dr = new SqlDataAdapter(sql2, conn);
            DataSet myds = new DataSet();
            dr.Fill(myds);
            bs.DataSource = myds.Tables[0];//第一次写入默认为Tables[0],第二次为Tables[1]
            this.dataGridView1.DataSource = bs;
            dataGridView1.Columns[0].HeaderCell.Value = "职工号";//列名设置
            dataGridView1.Columns[1].HeaderCell.Value = "名字";
            dataGridView1.Columns[2].HeaderCell.Value = "性别";

获取选择行的数据(要在datagridview中设置选中为一行的设置)

int hs = dataGridView1.CurrentRow.Index;//获取选中的行数;
textBox2.Text = dataGridView1.Rows[hs].Cells[0].Value.ToString();//将获得的数据写在文本框上

存储过程的加入

写法

create proc name (
@职工号 varchar(10),
@姓名 varchar(10),
@性别 varchar(2),
@出生年月 varchar(20),
@学历 varchar(10),
@职务 varchar(15),
@工资 int,
@住址 varchar(10),
@电话 varchar(11)
)
as 
insert into 职工信息汇总表 (职工号,姓名,性别,出生年月,学历,职务,工资,住址,电话)
values (@职工号,@姓名,@性别,@出生年月,@学历,@职务,@工资,@住址,@电话)
//as后面是真正起作用的句子,但要在前面定义要用到的变量要记得加@。

源码:

主程序

namespace 职工管理系统
{internal static class Program{/// <summary>///  The main entry point for the application./// </summary>[STAThread]static void Main(){// To customize application configuration such as set high DPI settings or default font,// see https://aka.ms/applicationconfiguration.ApplicationConfiguration.Initialize();Application.Run(new Form2());}}
}

登录界面

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data;
namespace 职工管理系统
{public partial class Form2 : Form{public Form2(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){string yh, connstr, mm1 = "";yh = textBox1.Text;connstr = "Server=LAPTOP-EFMKQ5FV;User Id=sa;Password=123;Database=职工信息管理系统;";SqlConnection conn = new SqlConnection(connstr);conn.Open();MessageBox.Show("数据库连接成功", "好");string sql = "select 密码 from 用户账号表 where 用户名='" + yh + "'";SqlCommand sqlcmd = new SqlCommand(sql, conn);if (conn.State == ConnectionState.Closed){conn.Open();}SqlDataReader sqldr = sqlcmd.ExecuteReader();if (sqldr.HasRows)//判断数据是不是空{while (sqldr.Read())//下一行{mm1 = sqldr["密码"].ToString();}}if (mm1 == textBox2.Text && mm1 != ""){MessageBox.Show("登录成功", "登录验证", MessageBoxButtons.OK, MessageBoxIcon.Information);conn.Close();Form1 a = new Form1();this.Hide();a.Show();}}}
}

管理界面:

using System.Data;
using System.Data.SqlClient;
namespace 职工管理系统
{public partial class Form1 : Form{BindingSource bs;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){}private void 信息信息修改ToolStripMenuItem_Click(object sender, EventArgs e){string connstr;connstr = "Server=LAPTOP-EFMKQ5FV;User Id=sa;Password=123;Database=职工信息管理系统;";SqlConnection conn = new SqlConnection(connstr);conn.Open();SqlCommand sqlcmd = new SqlCommand();sqlcmd.CommandType = System.Data.CommandType.StoredProcedure;sqlcmd.Connection = conn;sqlcmd.CommandText = "xxxg";sqlcmd.Parameters.Add("@职工号", SqlDbType.VarChar, 10).Value = textBox2.Text;sqlcmd.Parameters.Add("@姓名", SqlDbType.VarChar, 10).Value = textBox1.Text;sqlcmd.Parameters.Add("@性别", SqlDbType.VarChar, 2).Value = textBox8.Text;sqlcmd.Parameters.Add("@出生年月", SqlDbType.VarChar, 20).Value = textBox7.Text;sqlcmd.Parameters.Add("@职务", SqlDbType.VarChar, 15).Value = textBox6.Text;sqlcmd.Parameters.Add("@学历", SqlDbType.VarChar, 10).Value = textBox9.Text;sqlcmd.Parameters.Add("@工资", SqlDbType.Int).Value = Convert.ToInt32(textBox3.Text);sqlcmd.Parameters.Add("@住址", SqlDbType.VarChar, 10).Value = textBox5.Text;sqlcmd.Parameters.Add("@电话", SqlDbType.VarChar, 11).Value = textBox4.Text;if (sqlcmd.ExecuteNonQuery() >= 1){MessageBox.Show("职工信息修改成功", "好");}conn.Close();}private void 信息删除ToolStripMenuItem_Click(object sender, EventArgs e){string connstr, sql,sql2,zgh;zgh = textBox2.Text;connstr = "Server=LAPTOP-EFMKQ5FV;User Id=sa;Password=123;Database=职工信息管理系统;";SqlConnection conn = new SqlConnection(connstr);conn.Open();sql = "delete  from 职工信息汇总表 where 职工号='"+zgh+"'";sql2 = "select * from 职工信息汇总表";SqlCommand sqlcmd = new SqlCommand(sql,conn);sqlcmd.ExecuteNonQuery();bs = new BindingSource();SqlDataAdapter dr = new SqlDataAdapter(sql2, conn);DataSet myds = new DataSet();dr.Fill(myds);bs.DataSource = myds.Tables[0];this.dataGridView1.DataSource = bs;dataGridView1.Columns[0].HeaderCell.Value = "职工号";dataGridView1.Columns[1].HeaderCell.Value = "名字";dataGridView1.Columns[2].HeaderCell.Value = "性别";dataGridView1.Columns[3].HeaderCell.Value = "出生日期";dataGridView1.Columns[4].HeaderCell.Value = "学历";dataGridView1.Columns[5].HeaderCell.Value = "职务";dataGridView1.Columns[6].HeaderCell.Value = "工资";dataGridView1.Columns[7].HeaderCell.Value = "住址";dataGridView1.Columns[8].HeaderCell.Value = "电话";}private void 职工信息管理ToolStripMenuItem_Click(object sender, EventArgs e){}private void 信息录入ToolStripMenuItem_Click(object sender, EventArgs e){string connstr;connstr = "Server=LAPTOP-EFMKQ5FV;User Id=sa;Password=123;Database=职工信息管理系统;";SqlConnection conn = new SqlConnection(connstr);conn.Open();SqlCommand sqlcmd = new SqlCommand();sqlcmd.CommandType = System.Data.CommandType.StoredProcedure;sqlcmd.Connection = conn;sqlcmd.CommandText = "xxlr";sqlcmd.Parameters.Add("@职工号", SqlDbType.VarChar, 10).Value = textBox2.Text;sqlcmd.Parameters.Add("@姓名", SqlDbType.VarChar, 10).Value = textBox1.Text;sqlcmd.Parameters.Add("@性别", SqlDbType.VarChar, 2).Value = textBox8.Text;sqlcmd.Parameters.Add("@出生年月", SqlDbType.VarChar, 20).Value = textBox7.Text;sqlcmd.Parameters.Add("@职务", SqlDbType.VarChar, 15).Value = textBox6.Text;sqlcmd.Parameters.Add("@学历", SqlDbType.VarChar, 10).Value = textBox9.Text;sqlcmd.Parameters.Add("@工资", SqlDbType.Int).Value = Convert.ToInt32(textBox3.Text);sqlcmd.Parameters.Add("@住址", SqlDbType.VarChar, 10).Value = textBox5.Text;sqlcmd.Parameters.Add("@电话", SqlDbType.VarChar, 11).Value = textBox4.Text;if (sqlcmd.ExecuteNonQuery() >= 1){MessageBox.Show("职工信息录入成功", "好");}conn.Close();}private void button1_Click(object sender, EventArgs e){}private void 信息显示ToolStripMenuItem_Click(object sender, EventArgs e){string connstr,sql;connstr = "Server=LAPTOP-EFMKQ5FV;User Id=sa;Password=123;Database=职工信息管理系统;";SqlConnection conn = new SqlConnection(connstr);conn.Open();sql = "select * from 职工信息汇总表";//SqlCommand sqlcmd = new SqlCommand(sql,conn);bs = new BindingSource();SqlDataAdapter dr = new SqlDataAdapter(sql, conn);DataSet myds = new DataSet();dr.Fill(myds);bs.DataSource = myds.Tables[0];this.dataGridView1.DataSource = bs;dataGridView1.Columns[0].HeaderCell.Value = "职工号";dataGridView1.Columns[1].HeaderCell.Value = "名字";dataGridView1.Columns[2].HeaderCell.Value = "性别";dataGridView1.Columns[3].HeaderCell.Value = "出生日期";dataGridView1.Columns[4].HeaderCell.Value = "学历";dataGridView1.Columns[5].HeaderCell.Value = "职务";dataGridView1.Columns[6].HeaderCell.Value = "工资";dataGridView1.Columns[7].HeaderCell.Value = "住址";dataGridView1.Columns[8].HeaderCell.Value = "电话";}private void 按工号ToolStripMenuItem_Click(object sender, EventArgs e){string connstr, sql,gh;gh = textBox2.Text;connstr = "Server=LAPTOP-EFMKQ5FV;User Id=sa;Password=123;Database=职工信息管理系统;";SqlConnection conn = new SqlConnection(connstr);conn.Open();sql = "select * from 职工信息汇总表 where 职工号='"+gh+"'";//SqlCommand sqlcmd = new SqlCommand(sql,conn);bs = new BindingSource();SqlDataAdapter dr = new SqlDataAdapter(sql, conn);DataSet myds = new DataSet();dr.Fill(myds);bs.DataSource = myds.Tables[0];this.dataGridView1.DataSource = bs;dataGridView1.Columns[0].HeaderCell.Value = "职工号";dataGridView1.Columns[1].HeaderCell.Value = "名字";dataGridView1.Columns[2].HeaderCell.Value = "性别";dataGridView1.Columns[3].HeaderCell.Value = "出生日期";dataGridView1.Columns[4].HeaderCell.Value = "学历";dataGridView1.Columns[5].HeaderCell.Value = "职务";dataGridView1.Columns[6].HeaderCell.Value = "工资";dataGridView1.Columns[7].HeaderCell.Value = "住址";dataGridView1.Columns[8].HeaderCell.Value = "电话";}private void 按学历ToolStripMenuItem_Click(object sender, EventArgs e){string connstr, sql, xl;xl= textBox9.Text;connstr = "Server=LAPTOP-EFMKQ5FV;User Id=sa;Password=123;Database=职工信息管理系统;";SqlConnection conn = new SqlConnection(connstr);conn.Open();sql = "select * from 职工信息汇总表 where 学历='" + xl+ "'";//SqlCommand sqlcmd = new SqlCommand(sql,conn);bs = new BindingSource();SqlDataAdapter dr = new SqlDataAdapter(sql, conn);DataSet myds = new DataSet();dr.Fill(myds);bs.DataSource = myds.Tables[0];this.dataGridView1.DataSource = bs;dataGridView1.Columns[0].HeaderCell.Value = "职工号";dataGridView1.Columns[1].HeaderCell.Value = "名字";dataGridView1.Columns[2].HeaderCell.Value = "性别";dataGridView1.Columns[3].HeaderCell.Value = "出生日期";dataGridView1.Columns[4].HeaderCell.Value = "学历";dataGridView1.Columns[5].HeaderCell.Value = "职务";dataGridView1.Columns[6].HeaderCell.Value = "工资";dataGridView1.Columns[7].HeaderCell.Value = "住址";dataGridView1.Columns[8].HeaderCell.Value = "电话";}private void textBox8_TextChanged(object sender, EventArgs e){}private void 按职务ToolStripMenuItem_Click(object sender, EventArgs e){string connstr, sql, zw;zw = textBox6.Text;connstr = "Server=LAPTOP-EFMKQ5FV;User Id=sa;Password=123;Database=职工信息管理系统;";SqlConnection conn = new SqlConnection(connstr); conn.Open();sql = "select * from 职工信息汇总表 where 职务 like'%" + zw + "%'";//SqlCommand sqlcmd = new SqlCommand(sql,conn);BindingSource bs = new BindingSource();SqlDataAdapter dr = new SqlDataAdapter(sql, conn);DataSet myds = new DataSet();dr.Fill(myds);bs.DataSource = myds.Tables[0];this.dataGridView1.DataSource = bs;dataGridView1.Columns[0].HeaderCell.Value = "职工号";dataGridView1.Columns[1].HeaderCell.Value = "名字";dataGridView1.Columns[2].HeaderCell.Value = "性别";dataGridView1.Columns[3].HeaderCell.Value = "出生日期";dataGridView1.Columns[4].HeaderCell.Value = "学历";dataGridView1.Columns[5].HeaderCell.Value = "职务";dataGridView1.Columns[6].HeaderCell.Value = "工资";dataGridView1.Columns[7].HeaderCell.Value = "住址";dataGridView1.Columns[8].HeaderCell.Value = "电话";}private void toolStripStatusLabel1_Click_1(object sender, EventArgs e){}private void toolStripStatusLabel2_Click(object sender, EventArgs e){bs.MoveFirst();}private void toolStripStatusLabel3_Click(object sender, EventArgs e){bs.MovePrevious();}private void toolStripStatusLabel4_Click(object sender, EventArgs e){bs.MoveNext();}private void toolStripStatusLabel5_Click(object sender, EventArgs e){bs.MoveLast();}private void 或缺所选行信息ToolStripMenuItem_Click(object sender, EventArgs e){int hs = dataGridView1.CurrentRow.Index;textBox2.Text = dataGridView1.Rows[hs].Cells[0].Value.ToString();textBox1.Text = dataGridView1.Rows[hs].Cells[1].Value.ToString();textBox8.Text = dataGridView1.Rows[hs].Cells[2].Value.ToString();textBox7.Text = dataGridView1.Rows[hs].Cells[3].Value.ToString();textBox9.Text = dataGridView1.Rows[hs].Cells[4].Value.ToString();textBox6.Text = dataGridView1.Rows[hs].Cells[5].Value.ToString();textBox3.Text = dataGridView1.Rows[hs].Cells[6].Value.ToString();textBox5.Text = dataGridView1.Rows[hs].Cells[7].Value.ToString();textBox4.Text = dataGridView1.Rows[hs].Cells[8].Value.ToString();}}
}

microsoftsql配置

存储过程

USE [职工信息管理系统]
GO
/****** Object:  StoredProcedure [dbo].[xxlr]    Script Date: 2022/4/30 22:58:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER proc [dbo].[xxlr] (
@职工号 varchar(10),
@姓名 varchar(10),
@性别 varchar(2),
@出生年月 varchar(20),
@学历 varchar(10),
@职务 varchar(15),
@工资 int,
@住址 varchar(10),
@电话 varchar(11)
)
as
insert into 职工信息汇总表 (职工号,姓名,性别,出生年月,学历,职务,工资,住址,电话)
values (@职工号,@姓名,@性别,@出生年月,@学历,@职务,@工资,@住址,@电话)
//插入的USE [职工信息管理系统]
GO
/****** Object:  StoredProcedure [dbo].[xxxg]    Script Date: 2022/4/30 22:59:33 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[xxxg](
@职工号 varchar(10),
@姓名 varchar(10),
@性别 varchar(2),
@出生年月 varchar(20),
@学历 varchar(10),
@职务 varchar(15),
@工资 int,
@住址 varchar(10),
@电话 varchar(11)
)
as
update 职工信息汇总表
SET 姓名=@姓名,性别=@性别,出生年月=@出生年月,学历=@学历,职务=@职务,工资=@工资,住址=@住址,电话=@电话where 职工号=@职工号
//修改的

演示

全显示

获取当前行的信息

下面的菜单是给数据导航的

基本的增删改查和按工号和学历已经按职务的模糊查询都可以

因为不太熟练,而且作为一个二年级混子,这种管理系统也花了我4个小时左右,嗯,我不应该在敲代码时老是去选BGM。

简单的职工信息管理系统(运用了存储过程,和datagridview,dataset的设置)相关推荐

  1. 数据结构课程设计报告-职工信息管理系统

    "数据结构"课程设计报告 系 (院):           信息工程学院 设计题目:           员工管理系统 专业班级:          计算机科学与技术1401B 小 ...

  2. C语言/C++常见习题问答集锦(五十二) 之职工信息管理系统

    C语言/C++常见习题问答集锦(五十二) 之职工信息管理系统 程序之美 用C语言,职工信息管理系统具体要求 1.基本信息:如工号.姓名.性别.年龄.学历.住址.电话号码.工资等. 2.各职工信息用结构 ...

  3. C语言职工信息管理系统

    学了两个月的C语言和数据结构,花了三天时间,10月30号到11月1号,做了一个职工管理系统.这算是我人生中第一个项目吧,特此写下这篇文章来纪念这一时刻.(≧0≦)虽然我做的系统只能人工导入,大佬的好像 ...

  4. 职工信息管理程序设计c语言,C语言程序设计职工信息管理系统.docx

    C语言程序设计职工信息管理系统.docx 1 数信学院数信学院 课程设计报告课程设计报告 课程名称课程名称C C 语言程序设计语言程序设计_ _ 题目名称题目名称职工信息管理系统职工信息管理系统 学生 ...

  5. python课题设计职工信息管理系统_用Python实现职工信息管理系统

    想要实现一个职工管理系统 首先我们看一下想要实现什么功能 最基础的增删改查肯定要实现的 然后增加一下数据显示.数据排序.数据统计功能 下面直接上代码 增加职工数据 # 接收用户收入 id = inpu ...

  6. c语言银行卡管理系统程序设计报告,《c语言程序设计》课程设计报告-职工信息管理系统.doc...

    <c语言程序设计>课程设计报告-职工信息管理系统.doc 还剩 24页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环 ...

  7. 用python设计学生管理系统_基于python和tkinter实现的一个简单的学生信息管理系统...

    一个简单的学生信息管理系统基于python和tkinter 1.需求分析1.大学生信息管理系统使用tkinter接口创建一个窗口.使界面更漂亮.2. 实现与数据库的连接,教师和学生的信息可以保存或读取 ...

  8. 员工任务管理系统c语言,C语言职工信息管理系统课程设计任务书.docx

    C语言课程设计任务书 一.题目:职工信息管理系统 二.目的和要求 目的:要求熟练掌握C语言的基本知识和编辑技能: 基本掌握结构化程序设计的基本思路和方法. 要求:设计一个职工信息管理系统,使之能提供以 ...

  9. spring和mybatis结合做简单的增删查改系统_springbootamp;amp;vue简单的景点信息管理系统...

    springboot&&vue简单的景点信息管理系统 这两天闲着没有什么事,就根据陈哥的教程,试着写了一个springboot和vue的简单的景点信息管理系统.也就大致实现了最基本的增 ...

最新文章

  1. JanusGraph报错:Unknown external index backend
  2. 英伟达奔驰共同发布自动驾驶系统,还自带停车功能
  3. LuoguP1948 电话线 【二分答案/图论】
  4. 数据结构之C语言模拟整数数组实现
  5. Httpd之检测与安装
  6. HDU1524(博弈--有向无环图SG函数)
  7. C++常用特性原理解析
  8. linux下apache+openssl配置记录
  9. 进入android数据可视化,Android中的实时数据可视化
  10. Umeng社会化组件使用笔记
  11. 爬虫 推送到discord_如何将自定义表情符号添加到Discord服务器
  12. RainMeter学习2
  13. 进行拨测的主要目的都有哪些?
  14. JMeter性能测试,入门到入土
  15. windows下x265编译
  16. 应试教育的死穴,恰在于堵死了孩子“犯错”的空间
  17. dumple什么意思_计算机术语dump是什么意思?
  18. 漫谈程序员系列 请区别对待女程序员
  19. html5 复制到剪贴板 兼容,JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
  20. 79到85年出生的人的十大尴尬:

热门文章

  1. 《在网页中实现手机验证码登陆代码》
  2. 解决找不到pandas问题
  3. 十进制小数转为二进制小数
  4. PHP实现无限级分类(递归+引用)
  5. Java——计算用户输入的日期离1900年1月1日相距多少天
  6. Qt实现主窗口和子窗口的切换
  7. WEB前端学习:CSS学习_用户界面样式
  8. 微博分享、注销功能的实现
  9. 【网络安全】隐藏网站后台的另一种思路
  10. Python爬虫之scrapy框架-爬取小说信息