工资管理系统C# 数据库课程设计.docx
- 文档编号:4506074
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:24
- 大小:381.70KB
工资管理系统C# 数据库课程设计.docx
《工资管理系统C# 数据库课程设计.docx》由会员分享,可在线阅读,更多相关《工资管理系统C# 数据库课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
工资管理系统C#数据库课程设计
数据库课程设计
设计题目:
工资管理系统
班级:
BX0901
学号:
姓名:
一绪论··········································3
二需求分析·······································3
三概要设计·······································4
四物理设计·······································5
五详细设计·······································6
六调试分析·······································9
七小结·············································16
八参考文献···········································16
一、绪论
随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作.提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于C#与SQLserver数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。
基本上能满足管理员和公司的要求。
此次数据库课程设计的主要设计如下:
原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。
需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。
主要包括三大功能模块:
1.进入界面设计。
2.员工管理界面设计。
二、需求分析
功能需求分析:
该通用工资管理系统具备下列功能:
管理员通过输入用户名和密码进下该系统后,可以进行一些基本查询(员工信息查询、部门领导信息查询、工资奖金信息查询)、工资管理(基本工资及津贴奖金设定、计算总工资、津贴管理、加班工资管理);通过输入密码,可以进行查询员工的数据(工资,奖金津贴,加班情况).
具体功能的详细描述如下
1.用户名和密码即可进入[工资管理]功能窗体,在其中输入员工的相关信息,按[查询]就可查找信息。
2.点击[工资查询界面]功能窗体,输入员工号即可查询员工工资信息。
3.点击[津贴查询界面]功能窗体,输入员工号即可查询员工津贴信息。
4.点击[添加员工]功能窗体,输入员工号,点击快速添加即可添加员工。
5.点击[删除员工]功能窗体,输入员工号,即可删除员工。
数据流需求分析:
登陆信息返回信息
数据库
错误信息寻找信息
数据库需求分析--数据流图
三、概要设计
根据需求分析阶段得到的功能需求,管理员、员工通过输入用户名号和密码进下该系统后,可以进行一些基本查询(员工工资信息查询、津贴信息查询)、还可以进行员工删除和添加员工的操作,员工通过登录并输入密码,可以进行查询自己的数据(工资,津贴).
模块功能大概可以分为如下5个方面:
这几个模块工资管理、添加和删除员工,登陆、退出。
工资管理包括基本工资查询、津贴查询,添加员工、删除员工等.综上所述,得到客户端功能模块图如下图所示。
四、物理设计
1。
选择[登陆]则会进入相应登陆界面。
2.选择[工资查询][津贴查询][添加员工][删除员工][显示所有]菜单命令
3。
选择[工资查询界面]菜单命令即可进入[工资查询]功能窗体。
4.选择[津贴查询界面]菜单命令即可进入[津贴查询]功能窗体。
5.选择[添加员工]菜单命令即可进入[添加员工]功能窗体。
6。
选择[删除员工]菜单命令即可进入[删除员工]功能窗体.
7。
选择[返回]将返回整个系统.
五、详细设计
(1)数据库的E-R图及合并部分视图生成E-R图
员工信息E—R图:
员工工资信息E—R图:
管理员用户E-R图:
津贴管理E—R图:
(2)数据库结构设计
根据上面概念结构设计阶段得到的E—R图,下一步应该将它转化为关系模型。
可以得到对应的关系模式为:
Worker(工种号,基本工资,工种名称,部门,用户名,性别,年龄)
Salary(工资,员工号,基本工资,奖金,年月,总工资)
Usemen(用户号,用户,密码)
Jintie(员工号,加班时间,加班费用,误工数,误工费)
数据库表的建立:
(sql语句及截图)
语句如下:
Createtableworker
(工种号nchar(10)primarykey,
工种名称nchar(16),
基本工资int,
部门nchar(16),
用户名nchar(16),
性别char(4)check(性别in(‘男’,'女')),
年龄int
);
Createtablesalary
(员工号nchar(10)primarykey,
工资int,
基本工资int,
奖金int,
总工资int,
年月smalldatime
)
Createtableusemen
(用户号nchar(10)primarykey,
用户int,,
密码int,
)
六、调试分析
(1)数据库的表的建立与实现
Work表的建立:
Salary表的建立:
Usemen表的建立:
Jintie表的建立:
1.数据库的运行和截图:
登录界面截图,这里输入:
登录后:
查询工资界面:
津贴查询界面:
添加员工界面:
删除员工界面:
显示所有信息:
(2)调试与运行程序分析及存在的主要问题
在此次课程设计中的主要数据库部分为数据库的连接部分,该部分直接影响到数据库与应用程序的接口实现,而且必须注意数据库的名称与连接数据库是取的名称一致。
下面是连接数据库部分的代码:
1.连接数据库
C#语言代码如下:
界面:
namespacelogin
{
publicpartialclasslogin:
Form
{
staticStringstrconn=@"server=。
\SQLEXPRESS;database=工资查询系统;IntegratedSecurity=True";
staticSqlConnectionconn=newSqlConnection(strconn);
publiclogin()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
Stringstrsql=”use工资查询系统select*fromusermanwhere用户=’”
+textBox1。
Text+"’and密码='”+textBox2.Text+"’”;
try
{
conn。
Open();
SqlCommandcom=newSqlCommand(strsql,conn);
if(com.ExecuteScalar()!
=null)
{
this。
Hide();
chaxunjiemiancx=newchaxunjiemian();
cx.ShowDialog();
}
else
{
MessageBox.Show(”密码错误!
”);
}
}
catch(Exceptionce){}
finally
{conn.Close();}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this。
Close();
}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
}
}
添加员工:
namespacelogin
{
publicpartialclasstianjiayuangong:
Form
{
Stringstrcn=@"server=。
\SQLEXPRESS;database=工资查询系统;IntegratedSecurity=True”;
publictianjiayuangong()
{
InitializeComponent();
}
privatevoidbutton1_Click_1(objectsender,EventArgse)
{
try
{
//stringkind="”;
charyg=newchar();
floatjbgz=newfloat();
string员工号=textBox1.Text.Trim();
string基本工资=textBox2.Text.Trim();
SqlConnectionconn=newSqlConnection();
conn。
ConnectionString=strcn;
conn。
Open();
SqlDataAdapterad=newSqlDataAdapter("USE工资查询系统SELECT基本工资,员工号,奖金工资,总工资FROMsalarywhere员工号=’”+textBox1。
Text+"’",conn);
SqlCommandcmd1=newSqlCommand("select*fromsalary”,conn);
SqlDataAdaptersda1=newSqlDataAdapter();
sda1.SelectCommand=cmd1;
DataSetds1=newDataSet();
sda1.Fill(ds1,"salary”);
//if(ds1。
Tables["FL"].Rows[0][0]==null)
//Loan=0.0f;
jbgz=float。
Parse(ds1.Tables["salary"].Rows[8][1]。
ToString())—float.Parse(ds1。
Tables["salary"].Rows[8][0]。
ToString());
cmd1.CommandText="insertintosalary(员工号,基本工资)values(\’"+员工号+”\',\'"+基本工资+"\')”;
sda1。
InsertCommand=cmd1;
sda1。
Fill(ds1,"salary");
conn.Close();
MessageBox.Show(”添加成功!
”);
}
catch(Exceptione2)
{
MessageBox.Show(e2.Message);
}
}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
privatevoidtextBox2_TextChanged(objectsender,EventArgse)
{
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Hide();
chaxunjiemiancx=newchaxunjiemian();
cx。
ShowDialog();
}
}
}
查询工资:
namespacelogin
{
publicpartialclasschaxungongzi:
Form
{
Stringstrcn=@”server=.\SQLEXPRESS;database=工资查询系统;IntegratedSecurity=True”;
publicchaxungongzi()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
SqlConnectionconn=newSqlConnection();
conn。
ConnectionString=strcn;
conn.Open();
SqlDataAdapterad=newSqlDataAdapter("USE工资查询系统SELECT基本工资,员工号,奖金,工资,总工资FROMsalarywhere员工号='”+textBox1.Text+”’",conn);
DataSetds=newDataSet();
ad。
Fill(ds,"student”);
DataTabletable=ds.Tables[0];
dataGridView1.DataSource=table;
}
catch(Exceptionce)
{MessageBox。
Show(ce.Message);}
finally
{}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Hide();
chaxunjiemiancx=newchaxunjiemian();
cx.ShowDialog();
}
}
}
查询界面:
namespacelogin
{
publicpartialclasschaxunjiemian:
Form
{
staticStringstrconn=@”server=.\SQLEXPRESS;database=工资查询系统;IntegratedSecurity=True”;
staticSqlConnectionconn=newSqlConnection(strconn);
publicchaxunjiemian()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
conn。
Open();
this。
Hide();
chaxungongzicx=newchaxungongzi();
cx。
ShowDialog();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
conn.Open();
this。
Hide();
jintiechaxuncx=newjintiechaxun();
cx.ShowDialog();
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
conn。
Open();
this.Hide();
tianjiayuangongcx=newtianjiayuangong();
cx。
ShowDialog();
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
conn。
Open();
this。
Hide();
shanchuyuangongcx=newshanchuyuangong();
cx。
ShowDialog();
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
conn.Open();
this。
Hide();
xianshisuoyoucx=newxianshisuoyou();
cx.ShowDialog();
}
}
}
津贴查询:
namespacelogin
{
publicpartialclassjintiechaxun:
Form
{
Stringstrcn=@”server=。
\SQLEXPRESS;database=工资查询系统;IntegratedSecurity=True”;
publicjintiechaxun()
{
InitializeComponent();
}
privatevoidbutton1_Click_1(objectsender,EventArgse)
{
try
{
SqlConnectionconn=newSqlConnection();
conn.ConnectionString=strcn;
conn。
Open();
SqlDataAdapterad1=newSqlDataAdapter(”USE工资查询系统SELECT员工号,加班时间,加班费用,误工数,误工费FROMjintiewhere员工号='"+textBox1。
Text+”'”,conn);
DataSetds1=newDataSet();
ad1。
Fill(ds1,”student2");
DataTabletable1=ds1。
Tables[0];
dataGridView1。
DataSource=table1;
}
catch(Exceptionce)
{MessageBox。
Show(ce.Message);}
finally
{}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Hide();
chaxunjiemiancx=newchaxunjiemian();
cx.ShowDialog();
}
}
}
删除员工界面:
namespacelogin
{
publicpartialclassshanchuyuangong:
Form
{
Stringstrcn=@"server=。
\SQLEXPRESS;database=工资查询系统;IntegratedSecurity=True";
publicshanchuyuangong()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
SqlConnectionconn=newSqlConnection();
conn。
ConnectionString="server=(local);uid=sa;pwd=13587703533;database=工资查询系统;”;
SqlCommandcmd=newSqlCommand();
cmd。
CommandText=”deletefromsalarywhere员工号="+this.textBox1。
Text+””;
//根据学生的编号来删除相应的学生的信息
cmd。
Connection=conn;
conn。
Open();//打开连接
cmd.ExecuteNonQuery();//用ExecuteNonQuery()的方法来执行查询语句
conn。
Close();//关闭连接
}
catch(Exceptionce)
{MessageBox。
Show(ce.Message);}
finally
{}
}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
try
{
SqlConnectionconn=newSqlConnection();
conn.ConnectionString="server=(local);uid=sa;pwd=135********;database=工资查询系统;”;
SqlCommandcmd=newSqlCommand();
cmd。
CommandText=”deletefromjintiewhere员工号=”+this。
textBox1.Text+"”;
//根据学生的编号来删除相应的学生的信息
cmd。
Connection=conn;
conn.Open();//打开连接
cmd。
ExecuteNonQuery();//用®?
ExecuteNonQuery()的方法来执行查询语句?
conn.Close();//关闭连接
}
catch(Exceptionce)
{MessageBox.Show(ce.Message);}
finally
{}
}
}
}
显示所有:
namespacelogin
{
publicpartialclassxianshisuoyou:
Form
{
Stringstrcn=@"server=。
\SQLEXPRESS;database=工资查询系统;IntegratedSecurity=True";
publicxianshisuoyou()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
SqlConnectionconn=newSqlConnection();
conn。
ConnectionString=strcn;
conn.Open();
SqlDataAdapterad=newSqlDataAdapter("USE工资查询系¦统SELECT基本工资,员工号,奖金,工资,总工资FROMsalary”,conn);
DataSetds=newDataSet
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理系统C# 数据库课程设计 工资管理 系统 C# 数据库 课程设计