JAVA考勤管理系统教程文件.docx

上传人:b****8 文档编号:11423312 上传时间:2023-03-01 格式:DOCX 页数:18 大小:132.33KB
下载 相关 举报
JAVA考勤管理系统教程文件.docx_第1页
第1页 / 共18页
JAVA考勤管理系统教程文件.docx_第2页
第2页 / 共18页
JAVA考勤管理系统教程文件.docx_第3页
第3页 / 共18页
JAVA考勤管理系统教程文件.docx_第4页
第4页 / 共18页
JAVA考勤管理系统教程文件.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

JAVA考勤管理系统教程文件.docx

《JAVA考勤管理系统教程文件.docx》由会员分享,可在线阅读,更多相关《JAVA考勤管理系统教程文件.docx(18页珍藏版)》请在冰豆网上搜索。

JAVA考勤管理系统教程文件.docx

JAVA考勤管理系统教程文件

课程设计任务书

系别

电气与电子工程系

专业

计算机应用技术

班级

指导教师

题目

JAVA考勤管理系统

设计目的:

熟练掌握JAVA程序设计图形开发、事件驱动机制、各种组件使用。

设计要求:

用JAVA设计一个计算器小程序;设计的作品以单个Java文件形式,若是Applet小程序,则附带相关的网页;不要使用包路径;代码书写规范,无语法和逻辑错误;

课程设计要求:

1.画出程序设计流程图,说明程序设计流程。

2.根据流程图,说明所使用的相关知识。

3. 编写出程序

4.撰写课程设计说明书。

课程说明书里应包括目录,程序流程图,程序,总结(印象较深的经验/教训等)。

要求:

设计要有相应的设计报告,报告要包含题目、目录、摘要、关键字、正文、参考文献几部分;字体、字号格式按样文设置;正文要有需求分析、概要设计、详细设计、代码、结论等部分构成,并有必要的图表和效果图;

结题形式

程序代码,设计说明书

时间分配:

总体设计时间为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、用户添加界面

2、程序的开发流程

按下下一个按钮

记录是否到底

显示下一记录

游标到起始记录

3、核心代码

Stringstr_sql="insertintobiao(name,pwd,grade)values('"+str_name+"','"+str_pwd+"','"+user_type+"')";

try{conn=DriverManager.getConnection("jdbc:

odbc:

wk","sa","");

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、用户修改界面

2、程序的开发流程

开始修改用户

修改用户或密码

是否更新用户或密码

更新

3、核心代码

conn=DriverManager.getConnection("jdbc:

odbc:

wk","sa","");

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、用户删除界面

2、程序的开发流程

删除

获取卡号

是否删除

删除

3、核心代码

conn=DriverManager.getConnection("jdbc:

odbc:

wk","sa","");

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

rs=stmt.executeQuery("selectname,pwd,gradefromhy");

rs.next();

tx.setText(rs.getString("name"));fd1.setText(rs.getString("pwd"));rs.updateString(1,tx.getText());rs.updateString(2,fd1.getText());

rs.updateInt(3,user_type);

rs.updateRow();

JOptionPane.showConfirmDialog(this,"确定要删除吗?

","系统提示",JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_MESSAGE);

rs.deleteRow();

rs=stmt.executeQuery("selectname,pwd,gradefromhy");

2.3考勤管理模块开发

2.3.1考勤人员添加

1、考勤人员添加界面

2、程序的开发流程

开始添加人员信息

是否为空,重复

完成,显示在表中

3、核心代码

conn=DriverManager.getConnection("jdbc:

odbc:

wk","sa","");

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

rs=stmt.executeQuery("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、程序的开发流程

开始

检测数据库中是否存在记录

设置按钮不可用,重置,可重新设置

删除表中数据,设置按钮不可用

则不可设置

3、核心代码

b1.setEnabled(false);b2.setEnabled(true);

try{conn=DriverManager.getConnection("jdbc:

odbc:

wk","sa","");

stmt=conn.createStatement();

stmt.executeUpdate("insertintocheck_option(kx,c1,c2,c3,c4,c5)values('"+tx1.getText()+"','"+tx2.getText()+"','"+tx3.getText()+"',"+"'"+tx4.getText()+"','"+tx5.getText()+"','"+tx6.getText()+"')");

stmt.close();

conn.close();

2.3.3考勤课程设置

1、考勤课程设置界面

2、程序的开发流程

新建Visualclass类

建立课程管理窗体添加课程

将数据加入库

3、核心代码

try{conn=DriverManager.getConnection("jdbc:

odbc:

wk","sa","");

stmt=conn.createStatement();

for(inti=1;i<=5;i++)

{if(i==1){

stmt.executeUpdate("insertintocheck_class(x1,x2,x3,x4,x5)values('"+jTextField1.getText()+"','"+jTextField6.getText()+"','"+jTextField11.getText()+"','"+jTextField16.getText()+"','"+jTextField21.getText()+"')");}

2.3.4人员考勤管理

1、人员考勤管理界面

2、程序的开发流程

选择课程

扫描卡号

确定

选择考勤类型

添加

3、核心代码

计算日期

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;}

conn=DriverManager.getConnection("jdbc:

odbc:

wk","sa","");stmt=conn.createStatement();

rs=stmt.executeQuery("selectcodefromyu_kqwherename='"+tx2.getText()+"'");

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、考勤卡号查询界面

2、程序的开发流程

输入考号/日期

从数据库中获取信息

显示在表中

3、核心代码

date=newObject[rs.getRow()][];rs.beforeFirst();

s.remove(bg);bg=newJTable(date,t);

bg.setBounds(10,120,350,180);s.setViewportView(bg);

s.setBounds(10,120,350,185);

2.4.2考勤姓名查询

1、考勤姓名查询界面

2、程序的开发流程

输入姓名/日期

从数据库中获取信息

显示在表中

在数据库中建立

“人员—考勤”视图

3、核心代码

conn=DriverManager.getConnection("jdbc:

odbc:

wk","sa","");

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、考勤周次查询界面

2、程序的开发流程

输入信息

从数据库中获取信息

输出显示

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**驱动。

JAVA

ODBC桥

映射

 

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语言功能的强大。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1