java任务书计.doc_第1页
java任务书计.doc_第2页
java任务书计.doc_第3页
java任务书计.doc_第4页
java任务书计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

设计题目 学生信息管理系统 专业班级 计算机应用081班 学生姓名 学号: 指导教师 王雷 时佳璐 起止日期 2010.5.312010.6.6 河南工业大学化学工业职业学院目 录第1章 绪 论31.1概述31.1.1设计思想31.1.2系统需求分析31.2程序语言简介3第2章 数据库分析与设计52.1数据库的分析52.2数据库的设计5第3章系统的设计与实现63.1系统的设计63.2系统的实现6第4章 关键技术分析18第5章 总 结19致谢20参考文献21第1章 绪 论1.1概述学习完Java语言程序设计后,要深入的掌握这门语言,还需要进行具体的设计来提高Java的编程技术,从而能在将来具体的工作中利用Java语言开发项目。而Java课程设计是在学完该课程之后的重要的实践教学环节。该实践教学是对利用Java语言编写程序的一个综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧等。1.1.1设计思想认真学习课程设计任务书,了解设计的要求,再根据要求,联系所学的知识,运用JAVA知识,先创建数据库,然后再编写JAVA语句连接数据库,运用JAVA语句实现所需要的功能。通过建立数据库到编写程序,完成对数据库的添加,删除,查询,更新等功能,最后调试运行。1.1.2系统需求分析A. 设计题目:学生信息管理系统B. 功能需求:系统开发的总体任务是实现学生信息管理的系统化,规范化和自动化。系统功能分析是在系统开发总体任务的基础上完成的。本次设计的学生信息管理系统需要完成的功能主要有:a) 学生信息的输入,包括学生基本信息、课程信息和成绩信息等。b) 学生信息的修改、删除、统计、查询、显示,包括学生基本信息、课程信息和成绩信息等1.2程序语言简介 Java语言是Sun公司于20世纪90年代初开发的。最初并不是为了用于Internet,而是作为一种小家用电器的编程语言,用来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通信问题,命名为Oak。由于这些智能化家用电器的市场需求当时没有预期得高,Sun放弃了该项计划。就在Oak几近夭折时,Internet异常火爆起来。Sun看到了Oak在计算机上网络上的广阔应用前景,就改造了Oak,于是Java诞生了。 1995年5月Sun正式颁布了Java。由于Internet上存在着巨大的商业利益,Java是出现引起了商业界的极大兴趣。作为专业为商业用途设计的程序语言,Java伴随着Internet的迅速发展而发展,逐渐成为重要的Internet编程语言。由于Java提供了强大的图形、图像、动画、音频、视频、多线程及网络交互能力,使它在设计交互式、多媒体网页和网络应用程序方面大显身手,成为当今推广最快的一门计算机程序语言。第2章 数据库分析与设计2.1数据库的分析在仔细分析调查有关学生信息需要的基础上,归纳出本系统所处理的数据流程。针对一般学生信息管理系统的需求,通过对学生过程的内容和数据流程分析,设计如下面所示的数据项和数据结构。1)学生基本信息:包括的数据项有学号、姓名、性别、出生日期、民族、电话、政治面貌、健康情况、身高、专业、班级、籍贯、毕业学校、家庭住址、特长、备注。2)课程基本信息:包括的数据项有课程编号、课程名称、修课性质、考核性质、开课学期、开课单位、专业名称。3)学生成绩信息:包括的数据项有学号、课程编号、成绩。2.2数据库的设计首先通过Access建立一个数据库J08101.mdb,在这个数据库中有3个表,编写程序与数据库J08101.mdb建立连接;向数据库发送SQL Select语句,对数据库中信息进行修改、删除、添加、查询、更新等操作;将操作后的数据显示出来,每一条记录显示在一行。设计步骤如下:1)创建数据库文件J08102.mdb;创建表对象stu08102、cor08102、sc08102,向表中录入数据;2)创建连接数据库J08102.mdb的数据源J08102-java;第3章 系统的设计与实现3.1系统的设计输入字符x:学生基本信息k:课程信息c:成绩信息i:添加添加一个新来学生的信息添加一门课程信息给新来的这个学生登记其考试成绩s:查询查询计算机技术专业学生信息或其他查询“信息工程系”所开的课程或者其他查询不及格的学生或其他d:删除学生退学,删除其学生的信息删除一门课程信息删除退学学生的所有成绩显示对数据库信息进行任何的修改后都要输出显示数据库的信息t:统计统计男生的人数或者其他统计选修课的开课门数或其他统计及格的学生人数或其他l:联合显示由于3个表有一定的联系,可以将这3个表联合输出显示3.2系统的实现import java.util.*;import java.sql.*;import java.io.*;public class J08102 public static void main(String args) throws IOException Connection conn= null; Statement stmt = null; PreparedStatement ps; ResultSet rs = null; char ch; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /声明使用的驱动程序 conn=DriverManager.getConnection(jdbc:odbc:J08102-java); /创建连接数据库对象 catch (Exception e) System.err.println(OpenConn: +e.getMessage(); /访问数据库,输出数据库中数据 System.out.println(*学生管理系统*); System.out.println(请输入字符,选择对应操作的表:nx-学生基本信息k-课程信息 c-成绩信息 q-退出 ); ch=(char)System.in.read(); System.in.skip(2); / switch (ch) /学生信息表的各项操作 case x: String sqlx; long xh; String xm,xb; System.out.println(请输入字符,选择具体的操作:ni-添加 s-查询 d-删除 t-统计 l联合显示); ch=(char)System.in.read(); System.in.skip(2); switch (ch) /学生表的添加 case i: System.out.println(您选择的是对学生基本信息表的添加操作!); byte id=new byte100; byte name=new byte100; byte sex=new byte100; byte nation=new byte100; System.out.println(请输入学号); System.in.read(id); String xid=new String(id); System.out.println(请输入姓名); System.in.read(name); String xname=new String(name); System.out.println(请输入性别); System.in.read(sex); String xsex=new String(sex); System.out.println(请输入民族); System.in.read(nation); String xnation=new String(nation); try stmt=(Statement)conn.createStatement(); /创建操作SQL语句的对象 sqlx=insert into stu08102(id,name,sex,nation) values (?,?,?,?); ps=(PreparedStatement)conn.prepareStatement(sqlx); ps.setString(1,xid); ps.setString(2,xname); ps.setString(3,xsex); ps.setString(4,xnation); ps.executeUpdate(); sqlx=select * from stu08102; rs=stmt.executeQuery(sqlx); /创建保存SQL语句执行结果的对象 while (rs.next() /当存在下一条记录时再次循环 System.out.println( 学号:+rs.getLong(1); System.out.println( 姓名:+rs.getString(2); System.out.println( 性别:+rs.getString(3); System.out.println( 民族:+rs.getString(5); System.out.println(); rs.close(); /关闭ResultSet对象 stmt.close(); /关闭Statement对象 conn.close(); /关闭Connection连接对象 catch (SQLException e) System.out.print(SQL Exception occur. Message is:); System.out.print(e.getMessage(); break; /学生表的查询 case s: System.out.println(您选择的是对学生基本信息表的查询操作!); try stmt=(Statement)conn.createStatement(); /创建操作SQL语句的对象 sqlx=select * from stu08102 ; rs=stmt.executeQuery(sqlx); /创建保存SQL语句执行结果的对象 while (rs.next() /当存在下一条记录时再次循环 System.out.println( 学号:+rs.getLong(1); System.out.println( 姓名:+rs.getString(2); System.out.println( 性别:+rs.getString(3); System.out.println( 生日:+rs.getDate(4); System.out.println( 民族:+rs.getString(5); System.out.println( 电话:+rs.getString(6); System.out.println( 政治面貌:+rs.getString(7); System.out.println( 健康状况:+rs.getString(8); System.out.println( 身高:+rs.getString(9); System.out.println( 专业:+rs.getString(10); System.out.println( 班级:+rs.getString(11); System.out.println( 祖籍:+rs.getString(12); System.out.println( 学校:+rs.getString(13); System.out.println( 家庭住址:+rs.getString(14); System.out.println( 特长:+rs.getString(15); System.out.println(); rs.close(); /关闭ResultSet对象 stmt.close(); /关闭Statement对象 conn.close(); /关闭Connection连接对象 catch (SQLException e) System.out.print(SQL Exception occur. Message is:); System.out.print(e.getMessage(); break; /学生表的删除 case d: byte buffer=new byte40; System.out.println(您选择的是对学生基本信息表的删除操作,请输入要删除信息的学生学号); System.in.read(buffer); String s=new String(buffer); try stmt=(Statement)conn.createStatement(); /创建操作SQL语句的对象 sqlx= delete from stu08102 where id=+s; /删除记录 stmt.executeUpdate(sqlx); sqlx=select id,name from stu08102; rs=stmt.executeQuery(sqlx); /创建保存SQL语句执行结果的对象 /获取每条记录中的数据信息,并显示出来 while (rs.next() /当存在下一条记录时再次循环 System.out.println(学号:+rs.getLong(1); System.out.println(姓名:+rs.getString(2); System.out.println(); rs.close(); /关闭ResultSet对象 stmt.close(); /关闭Statement对象 conn.close(); /关闭Connection连接对象 catch (SQLException e) System.out.print(SQL Exception occur. Message is:); System.out.print(e.getMessage(); break; break;/ /课程信息的各项操操作 case k: String sqlk; System.out.println(请输入字符,选择具体的操作:ni-添加 s-查询 d-删除 t-统计 l联合显示 ); ch=(char)System.in.read(); System.in.skip(2); switch (ch) case i: System.out.println(您选择的是对课程信息表的添加操作!); byte id=new byte100; byte name=new byte100; System.out.println(请输入课程号); System.in.read(id); String kid=new String(id); System.out.println(请输入课程名); System.in.read(name); String kname=new String(name); try stmt=(Statement)conn.createStatement(); /创建操作SQL语句的对象 sqlk=insert into cor08102(cid,cname) values (?,?); ps=(PreparedStatement)conn.prepareStatement(sqlk); ps.setString(1,kid); ps.setString(2,kname); ps.executeUpdate(); sqlk=select cid,cname from cor08102; rs=stmt.executeQuery(sqlk); /创建保存SQL语句执行结果的对象 while (rs.next() /当存在下一条记录时再次循环 System.out.println(课程编号:+rs.getString(1); System.out.println(课程名称:+rs.getString(2); System.out.println(); rs.close(); /关闭ResultSet对象 stmt.close(); /关闭Statement对象 conn.close(); /关闭Connection连接对象 catch (SQLException e) System.out.print(SQL Exception occur. Message is:); System.out.print(e.getMessage(); break; /课程表的查询 case s: System.out.println(您选择的是对课程信息表的查询操作!); try stmt=(Statement)conn.createStatement(); /创建操作SQL语句的对象 sqlk=select cid,cname from cor08102; rs=stmt.executeQuery(sqlk); /创建保存SQL语句执行结果的对象 while (rs.next() /当存在下一条记录时再次循环 System.out.print( 课程编号:+rs.getString(1); System.out.println( 课程名称:+rs.getString(2); rs.close(); /关闭ResultSet对象 stmt.close(); /关闭Statement对象 conn.close(); /关闭Connection连接对象 catch (SQLException e) System.out.print(SQL Exception occur. Message is:); System.out.print(e.getMessage(); break; /课程表的删除 case d: byte buffer=new byte40; int did=0; System.out.println(您选择的是对课程信息表的删除操作!请输入要删除的课程号); System.in.read(buffer); String s=new String(buffer); try stmt=(Statement)conn.createStatement(); /创建操作SQL语句的对象 sqlk= delete from cor08102 where cid=+s; /删除记录 stmt.executeUpdate(sqlk); sqlk=select cid,cname from cor08102; rs=stmt.executeQuery(sqlk); /创建保存SQL语句执行结果的对象 while (rs.next() /当存在下一条记录时再次循环 System.out.print( 课程编号:+rs.getString(1); System.out.println( 课程名称:+rs.getString(2); rs.close(); /关闭ResultSet对象 stmt.close(); /关闭Statement对象 conn.close(); /关闭Connection连接对象 catch (SQLException e) System.out.print(SQL Exception occur. Message is:); System.out.print(e.getMessage(); break; break; / /成绩信息 case c: String sqlc; System.out.println(请输入字符,选择具体的操作:ni-添加 s-查询 d-删除 t-统计 l联合显示); ch=(char)System.in.read(); System.in.skip(2); switch(ch) case i: System.out.println(您选择的是对成绩基本信息表的添加操作!); byte id=new byte100; byte sid=new byte100; byte score=new byte100; System.out.println(请输入学号); System.in.read(id); String cid=new String(id); System.out.println(请输入课程号); System.in.read(sid); String csid=new String(sid); System.out.println(请输入成绩); System.in.read(score); String cscore=new String(score); try stmt=(Statement)conn.createStatement(); /创建操作SQL语句的对象 sqlc=insert into sc08102(id,cid,score) values (?,?,?); ps=(PreparedStatement)conn.prepareStatement(sqlc); ps.setString(1,cid); ps.setString(2,csid); ps.setString(3,cscore); ps.executeUpdate(); sqlc=select id,cid,score from sc08102; rs=stmt.executeQuery(sqlc); /创建保存SQL语句执行结果的对象 while (rs.next() /当存在下一条记录时再次循环 System.out.println(学号:+rs.getLong(1); System.out.println(课程号:+rs.getLong(2); System.out.println(成绩:+rs.getLong(3); System.out.println(); rs.close(); /关闭ResultSet对象 stmt.close(); /关闭Statement对象 conn.close(); /关闭Connection连接对象 catch (SQLException e) System.out.print(SQL Exception occur. Message is:); System.out.print(e.getMessage(); break; /成绩表的查询 case s: System.out.println(您选择的是对成绩基本信息表的查询操作!); try stmt=(Statement)conn.createStatement(); /创建操作SQL语句的对象 sqlc=select id,cid,score from sc08102 ; rs=stmt.executeQuery(sqlc); /创建保存SQL语句执行结果的对象 /获取每条记录中的数据信息,并显示出来 while (rs.next() /当存在下一条记录时再次循环 System.out.println(学号:+rs.getLong(1); System.out.println(课程号:+rs.getLong(2); System.out.println(成绩:+rs.getLong(3); rs.close(); /关闭ResultSet对象 stmt.close(); /关闭Statement对象 conn.close(); /关闭Connection连接对象 catch (SQLException e) System.out.print(SQL Exception occur. Message is:); System.out.print(e.getMessage(); break; /成绩表的删除 case d: byte buffer=new byte40; System.out.println(您选择的是对成绩基本信息表的删除操作,请输入要删除信息的学生学号); System.in.read(buffer); String s=new String(buffer); try stmt=(Statement)conn.createStatement(); /创建操作SQL语句的对象 sqlc= delete from sc08102 where id=+s; /删除记录 stmt.executeUpdate(sqlc); sqlc=select id,cid,score from sc08102; rs=stmt.executeQuery(sqlc); /创建保存SQL语句执行结果的对象 while (rs.next() /当存在下一条记录时再次循环 System.out.println(学号:+rs.getLong(1); System.out.println(课程号:+rs.getLong(2); System.out.println(成绩:+rs.getLong(3); System.out.println(); rs.close(); /关闭ResultSet对象 stmt.close(); /关闭Statement对象 conn.close(); /关闭Connection连接对象 catch (SQLException e) System.out.print(SQL Exception occur. Message is:); System.out.print(e.getMessage(); break; /退出 case q : break; 第4章 关键技术分析这次实训中问题最大的莫过从命令提示行录入信息,在编译时便问题很多,老是无法通过。问题总是处在输入输出流上,这一点老师在理论课上没有详细讲解,我们没有很好掌握,才导致问题很多。首先,要想使用输入流,就必须声明字节数组,但是数据库中的数据多为字符串型,这就存在一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论