收藏 分销(赏)

学生成绩管理系统报告.doc

上传人:人****来 文档编号:3994068 上传时间:2024-07-24 格式:DOC 页数:7 大小:55.54KB
下载 相关 举报
学生成绩管理系统报告.doc_第1页
第1页 / 共7页
学生成绩管理系统报告.doc_第2页
第2页 / 共7页
学生成绩管理系统报告.doc_第3页
第3页 / 共7页
学生成绩管理系统报告.doc_第4页
第4页 / 共7页
学生成绩管理系统报告.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、面向对象课程设计报告姓 名Name学 号Student No。班 级Class代码总行数Code Lines1150项目名称Item商品信息管理系统1实验目的本次课程设计旨在通过一个完整项目的开发,巩固面向对象程序设计、软件工程、数据库技术等课程的相关知识,加深学生对Java语言的理解,尤其是对面向对象思想、Java编码规范、JDBC访问数据库的理解,使学生进一步掌握环境构建、代码编写、文档阅读与理解、文档编写、软件测试、发行与部署等技能,进一步提高学生的学习能力、理解能力、表达能力及沟通能力。2实验内容用户正确的用户名和密码登录到图书信息管理界面,用户可以对商品的所有信息进行增加、删除、修改

2、、查找等基本的简单操作,主要功能如下:(1)用户登录l 用户名和密码预先存储在数据库内,用户必须在登录成功后才能进行相关操作。l 当用户名和密码错误时,系统给出相应的提示。l 当用户名和密码连续输入三次错误后,自动退出系统。(2)添加记录l 用户根据设计的GUI,输入相关信息,完成对信息表插入记录的操作.l 当输入的数据为空时,将弹出对话框提示输入不能为空,输入类型与数据库中的类型不匹配 时会报错.(3)删除记录l 用户根据设计的GUI,输入相关信息,完成对信息表删除记录的操作.l 当输入的数据不全或类型不正确时,系统会弹出相应的消息提示框。(4)修改记录l 用户根据设计的GUI,输入相关信息

3、,完成对信息表修改记录的操作。l 当输入的数据类型不正确或空时,系统会弹出相应的消息提示框。(5)查询l 用户根据设计的GUI,输入相关信息,完成对信息表查询记录的操作。l 当输入的数据类型不正确或者没有要查找的信息时,系统会自动弹出相应的消息提示框。3。类图该系统包括五个类,它们的功能描述如下:Goods 类图、User类图用来与数据库相关信息进行关联,InfoDAo类图用来对数据库中的信息进行增加、删除、修改、查找等操作。UserDAO类图用来对数据库中的信息进行查找。DBCconnection类图用来连接数据库。图3。1商品信息管理类图4.运行界面4。1用户登录界面用户通过该页面输入正确

4、的用户名和密码才能进入到主界面,如果用户名和密码输入不正确,系统会给出相应的提示信息.图4.1登录界面4。2商品信息管理界面当用户登录成功后进入该主界面,进行相应的增、删、改、查等操作。图4。2商品信息管理界面4。3添加信息界面用户点击操作菜单下的添加后进入该添加页面,输入相应的信息将记录添加到相应的表中,如果输入格式不正确会提示错误信息。图43添加商品信息4。4修改商品信息界面当用户点击操作菜单下的修改后将进入修改页面。图44修改商品信息4。5修改商品信息界面在该界面用户输入正确的编号进行相应记录的删除操作,如果输入的编号不正确会给出错误提示信息.图4-5修改商品信息4。6帮助界面如果用户对

5、本系统不太了解可以通过该界面进行查看。图46修改商品信息5.关键代码(要求在类的定义以及方法定义的前面给出相关描述信息)5。1商品信息操作类(InfoDAO.java)该类中实现与数据库信息的交互。public ListInfo findByName(String name) dbConnection = new DBConnection();String sql = ”select * from t_goodsmessage where goodsname like %” +name+ ”;ResultSet rs = dbConnection。executeQuery(sql);ListI

6、nfo list=new ArrayListInfo();try while (rs。next() Info info = new Info();info。setId(rs。getInt(1));info。setGoodsname(rs。getString(2));info。setPrice(Float。parseFloat(rs.getString(3);info.setNum_now(Integer.parseInt(rs。getString(4));info.setDescription(rs.getString(5));list。add(info); catch (SQLExcepti

7、on e) e.printStackTrace();finallydbConnection.dbClose();5.2用户登录类(LoginFrame.java)当用户进入登录页面后输入用户名和密码,在LoginFrame。java界面中将所输入的数据信息传入数据库进行匹配.int count=0;publicvoid actionPerformed(ActionEvent arg0) String name = username。getText();String pwd = new String(password.getPassword();if(name.equals(”)|pwd.equ

8、als(”))JOptionPane。showMessageDialog(null, ”用户名或密码不能为空!”);elseboolean flag = userDAO.findUserByNameAndPwd(user);if(flag) InfoFrame infoFrame = new InfoFrame();this。setVisible(false); infoFrame.setVisible(true); elseif(count=3)JOptionPane.showMessageDialog(null, ”登录次数已达上限!);System.exit(0);count+;JOpt

9、ionPane。showMessageDialog(null, 用户名或密码有误!请重新输入!”);5。3商品信息主界面(InfoFrame)在该类中实现增删改查等界面的跳转。publicvoid refreshTable() infoDAO= new InfoDAO();ListInfo list =infoDAO.findAllInfo();int count=list。size();data = new Objectcount5;for (int i = 0; i count; i+) datai0 = list。get(i)。getId();datai1 = list.get(i)。g

10、etGoodsname();datai2 = list.get(i)。getPrice();datai3 = list.get(i).getNum_now();datai4 = list。get(i).getDescription();table_1.setModel(new DefaultTableModel(data,new String 商品编号”, 商品名称”, ”商品价格”, 库存数量”, 商品描述)privatestaticfinallongserialVersionUID = 1L;boolean columnEditables = newboolean false, true,

11、 true,true,true;publicboolean isCellEditable(int row, int column) returncolumnEditablescolumn;5.4商品信息添加界面(AddFrame。Java)当用户登录成功后进入添加新闻信息页面,在AddFrame。Java界面中将添加的信息存入数据库。publicvoid actionPerformed(ActionEvent e)String goodsname=textField。getText();String price=textField_1.getText();String num=textFiel

12、d_2.getText();String des=textField_3.getText();if(goodsname.equals(”)|price.equals(”)num.equals(”)|des。equals())JOptionPane。showMessageDialog(null, ”添加的记录不能为空!”);elseif(!price。matches(d+?d+(。d+)?)JOptionPane.showMessageDialog(null, ”商品价格格式不对!”);elseif(!num.matches(d+”))/ 19d$JOptionPane.showMessageD

13、ialog(null, ”库存数量必须为正整数!);5。5商品信息修改界面(UpdateFrame。java)当用户登录成功后进入修改页面,根据新闻编号查询要修改的信息,在UpdateFrame.java中将修改后存入数据库.publicvoid actionPerformed(ActionEvent e) String id=textField。getText();if(id.equals()JOptionPane。showMessageDialog(null, ”商品编号不能为空!);elseInfo info=new Info();InfoDAO infoDAO = new InfoDA

14、O();info = infoDAO。findById(Integer.parseInt(id);if (info = null) JOptionPane。showMessageDialog(null, ”没有查找结果!);5。6商品删除界面(DeleteFrame.java)登录成功进入删除页面,根据查询新闻编号,在DeleteFrame.java界面中删除新闻信息。publicvoid actionPerformed(ActionEvent arg0) String id=textField。getText();InfoDAO infoDAO=new InfoDAO();if(id。equ

15、als(”)JOptionPane.showMessageDialog(null, ”不能为空!”);elseif(id。matches(”19d$”)boolean flag=infoDAO。deleteById(Integer.parseInt(id));if(flag)JOptionPane。showMessageDialog(null, ”删除成功!”);InfoFrame info=new InfoFrame();/info。refreshTable();setVisible(false);info。setVisible(true);elseJOptionPane。showMessa

16、geDialog(null, 对不起,没有你要删除的记录!”);elseJOptionPane.showMessageDialog(null, ”你输入的不是数字,请重新输入!”);6上机调试及问题分析6。1链接数据库方面的问题6.1。1驱动问题出现问题:运行程序前未加载mysql驱动提示错误:图6-1错误提示6。2商品信息管理系统运行期间的问题6。2。1空指针错误当查询的结果为空时将出现如图63所示:图62错误提示6.2。2连数据的密码不对出现如图6-5所示:图6-3错误提示6.2.3商品信息增加界面存在的问题出现的问题:当价格文本框中输入的不是数字时,程序出错错误提示:图6-4错误提示7心

17、得体会及建议时间过得真快,不知不觉本学期的实训就要结束了,本次实训不仅使我学到了很多东西,更重要的是增强了我的自信心.本次实训给我最大的感触是累,因为是第一次接触Java项目,而且是用GUI来实现可视化界面,什么都要从零做起,熟悉新的开发工具,使用新的数据库,这让本来就对编程不感兴趣的我有了退缩的念头,但让我高兴的是有这么一帮好同学,是他们鼓励我、帮助我,让我重拾信心,最终完成了本次实训的内容. 以前总觉得实训没什么意义,但通过本次实训我学到了不少东西,也深切地体会到实训的意义, 以前上课的时候认为书上的知识点挺容易的,但当我们真正使用它的时候才发现“纸上得来终觉浅。它不仅将我们所学的东西学以致用,也发现了一些知识上的漏洞,更加深了我们对知识的理解和应用。同时也发现了自己的不足,所以会在以后的学习中,不断地给自己充电来弥补自己的不足和缺陷.在实训的时候,老师还安排一些同学讲了一些有关Java的课外知识,扩展了我们的知识面,使我们在实训期间学到更多知识.我认为我在程序方面做的还不够完整,希望能够做得更好。成 绩Score教师签字 日期- 7 -

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服