JAVA考勤管理系统.docx

上传人:b****3 文档编号:5054212 上传时间:2022-12-12 格式:DOCX 页数:18 大小:235.76KB
下载 相关 举报
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、程序的开发流程

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

 

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