项目设计实训报告Word格式.docx
《项目设计实训报告Word格式.docx》由会员分享,可在线阅读,更多相关《项目设计实训报告Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
主窗体是程序操作过程中必不可少的,它是人机交互的重要环节,通过主窗体,用户可以调用系统相关的各子模块,快速掌握本系统的实现功能及操作方法。
当登陆窗体成功以后,用户就会进入主窗体,在主窗体界面中,最上面是菜单栏,里面包含各个项目。
(2)系统管理:
有用户信息进行注销,和用户注册的功能,对系统中用户信息,员工信息,部门管理,薪酬管理等基本信息进行维护,如用户的添加、修改、删除等。
新部门的设立,已有部门的修改等。
(3)员工管理:
对员工的基本信息进行管理,例如新建一个员工信息,对在职员工的详细信息进行查询、修改、删除、统计、排序操作。
查询可以按照员工编号、姓名、电话、部门等多种条件进行查询;
统计可以按照员工编号进行统计;
排序按照员工编号可以实现升序与降序的功能。
(4)薪酬管理:
对员工的薪酬信息进行管理,例如新建一个员工薪酬信息,对在职员工的基本工资、奖金、加班工资进行查询、修改、删除、统计、排序操作。
查询可以按照员工编号、姓名、电话、部门这些条件进行查询。
(5)辅助项目管理:
其中包括对部门的管理和员工报表的输出;
部门管理中可以实现对部门的管理,例如新建一个部门,对部门信息进行查询、修改、删除、统计、排序操作。
查询可以按照部门名称、负责人进行查询。
员工报表实现对员工信息的输出报表,可以帮助企业访问、格式化数据,并把数据信息以可靠和安全的方式呈现给使用者。
(6)帮助:
其中包括对系统的帮助内容与介绍,使用户对本系统有全面的了解。
2.数据流程图
人事档案管理的数据流图
通过对“人事档案管理系统流程图”抽象处理,得到“人事档案管理数据流图”。
E-R图
3、软件的总体架构,即软件包括哪些模块以及各模块之间的联系。
用户管理模块,员工管理模块,薪酬管理模块,分类管理模块,辅助管理模块,帮助模块。
数据库
4、数据库设计,即数据库中包括哪些表,表之间的联系。
在数据库人事管理系统中一共建了四个表分别如下:
Yuangong表
列名
数据类型
备注
职工编号
int4
主键
姓名
char10
民族
身份证号
char50
性别
学历
部门
char20
职称
电话
Email
Salary表
列名
基本工资
char500
奖金
加班工资
工资合计
char800
Department表
部门名称
负责人
部门介绍
(二)运行环境规定
1.设备
运行本软件要在奔腾III以上、内存在256MB以上的计算机。
2.支持软件
本系统只是的操作系统包括:
WindowsXP。
本系统支持的数据库:
SQLServer2000。
本系统的开发工具:
VB6.0
3.控制
本系统通过“用户验证”模块进行用户登录的控制,根据不同用户的权限调用不同的模块。
四、详细设计和实现
1、登陆界面:
此界面用到了textbox控件、label控件、commandbotton控件利用存储过程读取数据判断用户名、密码是否匹配,如果不匹配则返回,匹配则进入下一个页面。
代码如下:
登录
PrivateSubForm1_Load()
OptionExplicit
PublicLoginSucceededAsBoolean
'
引用MicrosoftActiveXDataObjects2.6Library
定义连接对象和记录集
DimconnAsADODB.Connection
DimrsAsADODB.Recordset
对取消按钮单击事件的响应
PrivateSubcmdCancel_Click()
设置全局变量为false
不提示失败的登录
LoginSucceeded=False
Me.Hide
EndSub
对登录按钮单击事件的响应
PrivateSubcmdOK_Click()
Setconn=NewADODB.Connection
Setrs=NewADODB.Recordset
建立无源数据库连接
conn.ConnectionString="
driver={sqlserver};
server=Dell--181;
uid=sa;
pwd=;
Database=人事系统管理"
conn.ConnectionTimeout=50
conn.Open
DimstrAsString
连接连接对象
Setrs.ActiveConnection=conn
设置游标类型
rs.CursorType=adOpenDynamic
IfTrim(txtUserName.Text="
"
)Then
MsgBox"
用户名不能为空,请重新输入用户名!
vbOKOnly+vbExclamation,"
警告"
txtUserName.SetFocus
Else
设置查询字符串
str="
select*fromlogin_userwherename='
&
Trim(txtUserName.Text)&
"
rs.Openstr
Ifrs.EOF=TrueThen
没有这个用户,请重新输入用户名!
登录成功,连接主窗口
If(Trim(txtPassword.Text)=Trim(rs.Fields("
password"
)))Then
LoginSucceeded=True
Form2.Show
密码不正确,请重输入密码!
,"
txtPassword.SetFocus
SendKeys"
{Home}+{End}"
EndIf
注册:
PrivateSubCmd1_Click()
DimmrcAsADODB.Recordset
DimtxtsqlAsString
判断文本框中是否有内容
IfLen(user1.Text)="
0"
Then
请输入用户名!
提示"
user1.SetFocus
ExitSub
IfLen(user_password.Text)="
请输入密码!
user_password.SetFocus
IfLen(password_ch.Text)="
请输入确认密码!
password_ch.SetFocus
IfLen(yanzh.Text)="
请输入验证码!
yanzh.SetFocus
IfTrim(user_password.Text)<
>
Trim(password_ch.Text)Then
MsgBox"
密码前后输入不一致,请重新输入!
系统——提示"
user_password.SetFocus
password_ch.Text="
ExitSub
EndIf
'
判断输入验证码是否等于显示的
IfTrim(yanzh.Text)<
Pic1.TagThen
验证码输入错误,请重新输入!
yanzh.Text="
yanzh.SetFocus
CallForm_Activate
txtsql="
Select*fromlogin_userwherename='
Trim(user1.Text)&
查询是否已存在该用户名
Setmrc=ExecuteSQL(txtsql)
Ifmrc.EOF=FalseThen
该用户名已存在!
user1.SetFocus
user1.Text="
user_password.Text="
mrc.Close
Select*fromlogin_user"
mrc.AddNew
mrc.Fields(0)=Trim(user1.Text)
mrc.Fields
(1)=Trim(password_ch.Text)
调用加密函数,并储存加密后的密码
mrc.update
用户添加成功!
vbOKOnly+vbInformation,"
UnloadForm8
Me.Show
系统流程图如下:
系统登录界面(图1.1):
注册界面(图1.2):
在注册中使用了模块,设置变量:
PublicPublicStrAsString
PublicFunctioncnn()AsADODB.Connection
Setconn=Server.CreateObject("
ADODB.Connection"
)
driver={SQLServer};
server=Dell--180;
pwd=sa;
database=人事管理系统"
PublicSubMain()
PublicStr="
Provider=SQLOLEDB.1;
IntegratedSecurity=SSPI;
PersistSecurityInfo=False;
InitialCatalog=人事管理系统;
DataSource=DELL--180"
DataSource="
App.Path&
\H:
\人事管理\人事管理_Data=False"
Me.Show
PublicFunctionEncodePassWord(ByValPWDAsString)AsString
DimCodePwdAsString
DimOnePwdAsString*1
DimiAsInteger
CodePwd="
初始化
OnePwd="
PWD=Trim(PWD)
i=0
IfLen(PWD)=0Then
EncodePassWord="
ExitFunction
Fori=1ToLen(PWD)
OnePwd=Mid(PWD,i,1)'
从代加密的密码中取出一位字符进行ASCII变换
CodePwd=CodePwd&
Chr(Asc(OnePwd)+(3*i+1))
Next
EncodePassWord=CodePwd
EndFunction
PublicFunctionDecodePassWord(ByValPWDAsString)AsString
DecodePassWord="
从代解密的密码中取出一位字符进行ASCII变换
Chr(Asc(OnePwd)-(3*i+1))
DecodePassWord=CodePwd
PublicFunctionExecuteSQL(ByValSQLAsString)AsADODB.Recordset
DimcnnAsNewADODB.Connection
DimrstAsADODB.Recordset
DimsTokens()AsString
DataSource=DELL--180"
OnErrorGoToError_Do
cnn.OpenPublicStr
sTokens()=Split(SQL)
IfInStr("
INSERT,DELETE,UPDATE"
UCase(sTokens(0)))Then
cnn.ExecuteSQL
Else
Setrst=NewADODB.Recordset
Withrst
.ActiveConnection=cnn
.CursorLocation=adUseClient
.CursorType=adOpenStatic
.LockType=adLockOptimistic
.OpenTrim(SQL)
EndWith
rst.OpenTrim(SQL),cnn,adOpenStatic,adLockOptimistic
SetExecuteSQL=rst
Setcnn=Nothing
Setrst=Nothing
Error_Do:
DimErr_StrAsString
Err_Str="
服务器"
Err.Description
IfMsgBox(Err_Str,vbRetryCancel+vbCritical,"
)=vbRetryThen
Resume
End
2、主窗体(菜单栏):
利用菜单编辑器来实现菜单栏,其中包含七个项目及以下的子项目;
界面背景用Image属性进行添加图片。
菜单栏界面如下1.3:
3、员工信息管理
员工信息管理其中包括对员工信息的查询、添加、删除、统计、排序。
页面利用Adodc与数据库的连接,还可用SQL语句进行数据库字段的筛选,在运用DataGrid进行数据绑定如图1.4:
(1)员工信息添加
图1.4
(2)员工信息查询
图1.5
(3)员工信息删除、排序
1添加的代码为:
PrivateSubcmdAdd_Click()
IfcmdAdd.Caption="
确定"
Adodc1.Recordset.update
cmdAdd.Caption="
添加记录"
Adodc1.Recordset.AddNew
update.Enabled=True
2查询的代码为:
PrivateSubcmdFind_Click()
IfTxtfind.Text="
请选择查询项目并输入查询内容!
48,"
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.FindCombFind.Text&
="
Txtfind.Text&
IfAdodc1.Recordset.EOFThen
记录不存在"
64,"
EndSub
PrivateSubForm_Load()
Adodc1.Visible=False
CombFind.AddItem"
姓名"
职工编号"
身份证号"
电话"
3删除与排序的代码为:
PrivateSubCmddel_Click()
DimstrResultAsString
strResult=MsgBox("
是否真的要删除该员工信息?
vbYesNoCancel+vbQuestion+vbDefaultButton1,"
退出询问"
IfstrResult=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MovePrevious
IfstrResult=vbNoThen
PrivateSubLabel7_Click()
Adodc1.Recordset.MoveFirst
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="
select*from员工资料orderby职工编号asc"
Adodc1.Refresh
PrivateSubLabel8_Click()
select*from员工资料orderby职工编号desc"
3、分类管理
分类管理中运用Option控件、Adodc控件可以实现男女性别分类显示。
页面利用Adodc与数据库的连接,在运用DataGrid进行数据绑定;
主要代码如下:
DimcondstrAsString
condstr="
IfOption1.Value=TrueThen
Ifcondstr="
condstr="
性别='
男'
condstr=condstr+"
and性别='
IfOption2.Value=TrueThen
女'
Ifcondstr<
Then'
有条件
select*from员工资料where"
+condstr
Else'
无条件
select*from员工资料"
图1.7
4、薪酬查询;
图1.8
5、辅助项目管理:
图1.9图2.0
报表:
添加DataEnviroment和DataReport设计器在数据报表中设