欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    java实训报告--图书管理系统.doc

    • 资源ID:51834196       资源大小:314KB        全文页数:15页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java实训报告--图书管理系统.doc

    Java实训报告 项目: 图书管理系统 专业: 软件技术 班级: 12级软件技术 姓名: 马巍 杨迪 张倩茹 指导教师: 黄珍 兰州文理学院电子信息工程学院2014年7月目 录摘 要31实习(实训)器材或环境42实习(实训)内容与过程42.1 数据库结构设计42.2 主页面模块设计52.3 与数据库建立连接102.4 操作员管理设计112.5 书籍管理模块设计133 实习(实训)总结与体会15摘 要 近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 为此,在此次的实训中我选择了图书管理系统,它是以“图书”数据库为后台,在java和Microsoft SQL Server2000的开发环境下进行的。 主要实现了对客户资料的添加、修改、删除等功能;在查询方面,利用了模糊查询、详细查询;一、 实习(实训)器材或环境(注:针对计算机等专业的硬件、软件环境要求) 1硬件环境 学校101机房电脑 2软件环境 操作系统:Windows 98或Windows2000/Windows NT Server4.0 Microsoft Access 2000或SQL Sever二、 实习(实训)内容与过程 我们做的书籍借阅管理系统主要划分为以下七个模块:1) 操作员管理模块:实现操作员的登录及操作用户的添加,更改密码和删除用户的管理。2) 书籍信息管理模块:实现书籍信息的添加和更新。3) 书籍借出模块:书籍借出管理。4) 书籍还入模块:书籍还入管理。5) 信息一览模块:对书籍,读者和书籍借阅情况列表显示。6) 数据操作模块:封装对数据库的操作。具体操作如下:1) 数据库结构设计 该系统包括书籍管理、借阅管理和用户管理,所以数据库应包括书籍信息表(图1-1所示)、书籍借阅表(图1-2所示)、用户表(图1-3所示)。 图1-1书籍信息表 图1-2书籍借阅表 图1-3用户信息表 2) 主界面模块设计 根据功能需求和总体设计的结果,它应该由操作员登录、操作员管理、书籍借出管理、书籍还入管理和信息一览组成,如图2-1所示。可通过点击菜单项进入相应的功能模块。图2-1书籍管理系统主界面 建立一个新的应用程序,并将其主窗口命名为“BookManagerMain”。修改窗体布局为“XYLayout或NULL”。在此窗体上添加一菜单,名为“jMemuBar”。代码如下: /设置权限。根据操作员的不同,设置相应的权限。管理员可操作所有功能和添加用户;书籍操作员只能管理书籍;借阅操作员只能管理借阅情况。由于这个过程要在用户登录中使用,因此其函数作用范围要设为publicpublic void setEnable(String powertype) if (powertype.equals("管理员") jMenuUserManager.setEnabled(true); jMenuBookManager.setEnabled(true); jMenuBorrowBook.setEnabled(true); jMenuReturnBook.setEnabled(true); jMenuAllInfo.setEnabled(true); else if (powertype.equals("书籍操作员") jMenuUserManager.setEnabled(false); jMenuBookManager.setEnabled(true); jMenuBorrowBook.setEnabled(false); jMenuReturnBook.setEnabled(false); jMenuAllInfo.setEnabled(true); else if (powertype.equals("借阅操作员") jMenuUserManager.setEnabled(false); jMenuBookManager.setEnabled(false); jMenuBorrowBook.setEnabled(true); jMenuReturnBook.setEnabled(true); jMenuAllInfo.setEnabled(true); else jMenuUserManager.setEnabled(false); jMenuBookManager.setEnabled(false); jMenuBorrowBook.setEnabled(false); jMenuReturnBook.setEnabled(false); jMenuAllInfo.setEnabled(false); /在主窗体被打开时打开登陆窗口 void this_windowOpened(WindowEvent e) setEnable("else"); /采用 userLogin(this)的形式,将父窗体对象传入 userLogin dlg = new userLogin(this); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开登陆窗口 void jMenuItemLogin_actionPerformed(ActionEvent e) userLogin dlg = new userLogin(this); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开添加用户窗口 void jMenuItemUserAdd_actionPerformed(ActionEvent e) userAdd dlg = new userAdd(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开用户密码修改窗口 void jMenuItemUserUpdate_actionPerformed(ActionEvent e) userUpdate dlg = new userUpdate(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开用户删除窗口 void jMenuItemUserDelete_actionPerformed(ActionEvent e) userDelete dlg = new userDelete(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开书籍信息添加窗口 void jMenuItemBookAdd_actionPerformed(ActionEvent e) bookAdd dlg = new bookAdd(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开书籍信息更新窗口 void jMenuItemBookUpdate_actionPerformed(ActionEvent e) bookUpdate dlg = new bookUpdate(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开书籍删除窗口 void jMenuItemBookDelete_actionPerformed(ActionEvent e) bookDelete dlg = new bookDelete(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开书籍出借 窗口 void jMenuItemBookBorrow_actionPerformed(ActionEvent e) borrowBook dlg = new borrowBook(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开书籍出借信息修改窗口 void jMenuItemBookBorrowUpdate_actionPerformed(ActionEvent e) borrowInfoUpdate dlg = new borrowInfoUpdate(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开书籍还入窗口 void jMenuItemBookReturn_actionPerformed(ActionEvent e) returnBook dlg = new returnBook(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开书籍还入信息修改窗口 void jMenuItemBookReturnUpdate_actionPerformed(ActionEvent e) returnInfoUpdate dlg = new returnInfoUpdate(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); /打开所有书籍列表窗口 void jMenuItemAllBook_actionPerformed(ActionEvent e) bookList dlg = new bookList(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); void jMenuFileExit_actionPerformed(ActionEvent e) System.exit(0); /打开所有书籍借阅查询窗口 void jMenuItemAllInfo_actionPerformed(ActionEvent e) AllInfo dlg = new AllInfo(); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setVisible(true); 3) 与数据库建立连接package data;import java.sql.*; /引入sql包/数据库操作类public class DBManager private String driver="sun.jdbc.odbc.JdbcOdbcDriver" private String url="jdbc:odbc:BookManagerDB" /创建指定数据库的URL /查询方法,返回查询结果集 public ResultSet getResult(String sql) ResultSet rs=null; try Class.forName(driver) ; /加载驱动程序 Connection conn=DriverManager.getConnection(url) ; /创建连接 /创建statement对象 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs=stmt.executeQuery(sql); /执行SQL语句,返回结果集 /异常处理 catch(Exception e) e.printStackTrace(); return rs; /执行更新语句方法 public int executeSql(String sql) int count=0; try Class.forName("driver") ; /加载驱动程序 Connection conn=DriverManager.getConnection(url) ; /创建连接 Statement stmt=conn.createStatement(); /创建statement对象 count=stmt.executeUpdate(sql); /执行SQL语句,返回更新条数 catch(Exception e) e.printStackTrace(); return count; /返回的count>0,表示操作成功 4) 操作员管理设计 1此模块要完成操作员或管理员的登录,因此界面设计得很乘法,只有【确定】和【取消】两个按钮,如图3-1-1所示。图3-1-1管理员和操作员登录窗口 操作员登录系统由用户名和密码构成,输入用户名和密码后系统首先验证输入字符的有效性,然后调用数据库查看此用户名是否存在、密码是否正确,然后再判断用户权限,从而确定是操作员还是管理员,根据权限的不同在执行主窗体中的setEnable过程时赋与不同的参数值。 2此部分要完成添加新的操作员或管理员账号的功能,用户需要提供用户名、密码并选择登录权限,界面设计如图3-2-1所示。 图3-2-1用户添加窗口登录权限采用JcomboBox,密码和确认密码采用JpasswordField。操作员的信息由用户名和密码构成,在操作员输入用户名和密码后,系统首先验证输入字符的有效性,再读取用户选择的登录权限,然后执行数据库的插入过程。3操作员密码或权限修改,这部分要实现友操作员或管理员账号的密码或权限修改的功能,用户需要提供用户名、原密码、亲密码和确认新密码或者要修改的权限,界面设计如图3-3-1所示。 图3-3-1用户密码或权限修改窗口4操作员删除模块,这部分要实现支操作员或管理员账事情进行删除的功能,用户需要提供用户名和密码,界面如图3-4-1所示。 图3-4-1用户删除窗口在操作员输入用户名和密码后,系统首先验证输入字符的有效性,然后调用数据库查看此用户名是否存在或密码是否正确,然后再执行更新过程。5) 书籍管理模块设计1 添加书籍信息模块,这部分要实现添加书籍信息的功能,用户需要提供书籍信息的相关资料,从功能上考虑,界面设计如图4-1-1所示。 图4-1-1书籍信息添加窗口在操作员输入书籍信息的相关资料后,系统首先验证输入字符的有效性,然后再执行添加过程。2 修改书籍信息模块,这部分要实现对书籍信息进行修改的功能,用户需要提供所要修改的书籍的名称,由功能考虑,界面设计如图4-2-1所示。在操作员输入书籍名称后,系统首先验证输入字符的有效性,然后市政用数据库对象执行更新过程。 图4-2-1书籍信息更新窗口3 删除书籍信息模块,这部分实现对书籍信息删除的功能,界面设计如图4-3-1所示。图4-3-1书籍信息删除窗口在操作员打开此窗口后,窗体给出一个文本框,用来输入书籍名称,单击【确定】按钮后,执行相应的操作。6) 书籍借出管理设计1 书籍借出模块,这部分要实现支书籍借出的功能,用户需要提供借阅者姓名、书名和其他相关信息,系统首先验证输入的有效性,然后执行相关的数据库过程。界面设计如图5-1-1所示。点击【清空】按钮,会清空所有信息,输入借阅者姓名、借阅日期并选择要借书籍,点击【确定】按钮会保存此书借阅的相关信息到数据库。 图5-1-1书籍借出窗口2 书籍借出信息修改模块,这部分要实现对书籍借出信息修改的功能。窗体效果如图5-2-1所示。点击【清空】按钮,会清空所有信息,输入借阅者姓名或书名点击【确定】按钮会调出此书相关信息,【更新】按钮将保存你对所借阅信息的修改。图5-2-1书籍借出信息修改窗口三、 实习(实训)总结与体会通过两个实训周的学习,我学到了不少新的东西,同时也温习了以前所学,老实说,实训的意义蛮大,特别是对我们动手、操作能力的培养,以及思维锻炼方面有非常大的作用,同时实训是我们平时的专业技能要求一个很好的体现,我们平时的掌握程度,通过实训,完全能够知道个大概,因为实训所涵盖的内容比较广,尽管就是我们平时的积累和学习,但是,要求明显有所提高。最后我希望在以后的学习生活中,能够很好的运用这所学知识,并且有更大的提高。参 考 资 料1java教学课本2 学习网站3百度网站4同学借鉴

    注意事项

    本文(java实训报告--图书管理系统.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开