JAVA考勤管理系统Word下载.docx
- 文档编号:18011076
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:18
- 大小:235.76KB
JAVA考勤管理系统Word下载.docx
《JAVA考勤管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA考勤管理系统Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
程序代码,设计说明书
时间分配:
总体设计时间为1周
1.设计流程图1天
2.编写各部分程序2天
3.上机调试,实现功能1天
4.写说明书、答辩1天
第一章考勤管理系统功能
说明《考勤管理系统》为了解决班级考勤,开发的一个基于Java—Swing和mssql的桌面管理系统。
介绍主要功能(模块结构图)
第二章软件开发
2.1用户登录
1、用户登录界面
2、程序的开发流程
3、核心代码
str3="
select*fromhywherename='
"
+str1+"
'
andpwd='
+str2+"
;
con=DriverManager.getConnection("
jdbc:
odbc:
wk"
"
sa"
);
stmt=con.createStatement();
2.2用户管理模块开发
2.2.1用户添加
1、用户添加界面
3、核心代码
Stringstr_sql="
insertintobiao(name,pwd,grade)values('
+str_name+"
'
+str_pwd+"
+user_type+"
)"
try{conn=DriverManager.getConnection("
"
stmt=conn.createStatement();
stmt.executeUpdate(str_sql);
JOptionPane.showConfirmDialog(this,"
添加成功!
系统提示"
JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_MESSAGE);
tx.setText("
fd1.setText("
fd2.setText("
}catch(SQLExceptione){e.printStackTrace();
}
2.2.2用户修改
1、用户修改界面
conn=DriverManager.getConnection("
sta=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=sta.executeQuery("
selectname,pwd,gradefromhy"
rs.next();
text1.setText(rs.getString("
name"
));
pwd.setText(rs.getString("
pwd"
cpwd.setText(pwd.getText());
2.2.3用户删除
1、用户删除界面
conn=DriverManager.getConnection("
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("
tx.setText(rs.getString("
fd1.setText(rs.getString("
rs.updateString(1,tx.getText());
rs.updateString(2,fd1.getText());
rs.updateInt(3,user_type);
rs.updateRow();
确定要删除吗?
JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_MESSAGE);
rs.deleteRow();
2.3考勤管理模块开发
2.3.1考勤人员添加
1、考勤人员添加界面
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
selectid,code,name,class,telfrombiao1"
rs.last();
r_date=newObject[rs.getRow()][];
rs.beforeFirst();
rs.close();
stmt.close();
conn.close();
i=0}
bg=newJTable(r_date,t);
s=newJScrollPane();
s.setViewportView(bg);
sql="
insertintokq(code,name,class,tel)values('
+scode+"
+sname+"
+sclass+"
+stel+"
2.3.2考勤管理设置
1、考勤管理设置界面
2、程序的开发流程
b1.setEnabled(false);
b2.setEnabled(true);
try{conn=DriverManager.getConnection("
stmt.executeUpdate("
insertintocheck_option(kx,c1,c2,c3,c4,c5)values('
+tx1.getText()+"
+tx2.getText()+"
+tx3.getText()+"
+"
+tx4.getText()+"
+tx5.getText()+"
+tx6.getText()+"
2.3.3考勤课程设置
1、考勤课程设置界面
try{conn=DriverManager.getConnection("
for(inti=1;
i<
=5;
i++)
{if(i==1){
insertintocheck_class(x1,x2,x3,x4,x5)values('
+jTextField1.getText()+"
+jTextField6.getText()+"
+jTextField11.getText()+"
+jTextField16.getText()+"
+jTextField21.getText()+"
2.3.4人员考勤管理
1、人员考勤管理界面
计算日期
Datedate1=newDate();
Calendarc=Calendar.getInstance(Locale.CHINESE);
c.setTimeInMillis(date1.getTime());
c.add(Calendar.HOUR,-10);
DateFormatdf=DateFormat.getDateTimeInstance();
try{returnc.getTime().before(df.parse(date2));
}catch(ParseExceptione){e.printStackTrace();
returnfalse;
stmt=conn.createStatement();
selectcodefromyu_kqwherename='
if(rs.next())
{s_code=rs.getString
(1);
Calendarc=Calendar.getInstance(Locale.CHINESE);
SimpleDateFormatsim=newSimpleDateFormat("
yyyy-MM-ddHH:
mm:
ss"
c.getTime();
c.add(Calendar.HOUR,+14);
s_datetime=sim.format(c.getTime());
2.4考勤查询
2.4.1考勤卡号查询
1、考勤卡号查询界面
date=newObject[rs.getRow()][];
rs.beforeFirst();
s.remove(bg);
bg=newJTable(date,t);
bg.setBounds(10,120,350,180);
s.setBounds(10,120,350,185);
2.4.2考勤姓名查询
1、考勤姓名查询界面
conn=DriverManager.getConnection("
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("
select*fromfind_codewherename='
+t_code.getText()+"
rs.last();
2.4.3考勤周次查询
1、考勤周次查询界面
3、核心代码
周次转换为天数的算法(周数-1)*7+星期几
调用以下类中的方法
daycount=(Integer.parseInt(t_week.getText())-1)*7+Integer.parseInt(t_date.getText());
System.out.println("
天数"
+daycount);
Stringresult="
DateFormatdf=newSimpleDateFormat("
yyyy-MM-dd"
longi=86400000;
try{Dateldate=df.parse(ymd);
result=df.format(newDate(ldate.getTime()+nextYmd*i)).toString();
}catch(ParseExceptione){e.printStackTrace();
}
returnresult;
}}
第三章总结
3.1建立数据源
1、使用JDBC-ODBCjava联接了数据源
2、使用JDBCforSQL**驱动。
3、建立数据源ODBC
控制面板——管理工具——数据源ODBC
——系统DSN——添加——选择数据库类型SQL
指定数据源名称:
(名称:
ts)——服务器名称:
在服务管理中粘贴
——登录方式系统默认——更改默认数据库(新建的库)
——数据源测试——完成
privateConnectionconn=null;
//声明数据联接
privateStatementstmt=null;
//传递sql语句
privateResultSetrs=null;
//接收结果(记录集)
3.2控件使用
1、JFrame添加背景图片
//菜单背景
.privateImageimg_main=null;
privateImageIconicon_main=null;
privateJLabell=null;
privateJLayeredPanep=null;
//背景图标
img_main=ImageIO.read(this.getClass().getResource("
/pro_2/pic/main.jpg"
icon_main=newImageIcon(img_main);
//添加背景图片
l=newJLabel(icon_main);
p=this.getLayeredPane();
p.setOpaque(false);
l.setBounds(0,0,icon_main.getIconWidth(),icon_main.getIconHeight());
//设置背景标签的位置
p.add(l,newInteger(Integer.MIN_VALUE));
//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。
Containercp=this.getContentPane();
cp.setLayout(null);
((JPanel)cp).setOpaque(false);
2、如何在jTextField上添加事件,实现输入数据触发事件
t-jTextField对象
t.getDocument().addDocumentListener(
newDocumentListener()
{
publicvoidchangedUpdate(DocumentEventarg0){
//当属性或者属性集发生变化时通知
publicvoidinsertUpdate(DocumentEventarg0){
//文本输入时通知
publicvoidremoveUpdate(DocumentEventarg0){
//删除文本时通知
3、在容器中添加滚动条容器
privateJScrollPanep=newJScrollPane();
//声明并创建滚动条容器
p.setBounds(10,10,300,300);
//设置位置
this.add(p);
//添加
3.3JAVA代码结构认识
通过这次的课程设计,让我更好的巩固了JAVA课程中所学习地知识,对JAVA开发程序有了一个系统的了解。
知道了在开发程序时,应该先构建一个体系,在设计程序前应该先将程序的流程图画出来,再有目的的去编写各部分的程序。
同时,也让我感觉到了JAVA语言功能的强大。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 考勤 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)