数据库系统课程设计仓库管理系统.doc
《数据库系统课程设计仓库管理系统.doc》由会员分享,可在线阅读,更多相关《数据库系统课程设计仓库管理系统.doc(119页珍藏版)》请在咨信网上搜索。
1、数据库系统课程设计仓库管理系统实验报告仓库管理系统实验课程数据库实验实验者1姓名班级学号实验者2姓名班级学号实验时间指导老师目录P3 要求 P4 参考资料阅读心得P6概述(设计思路、实现功能、运用技术)P7 实现及操作(关键代码解析、运行结果、类方法的介绍)P17存在问题和需要改进的地方P18附录(完整代码 包括 分布调试代码)要求:使用ACCESS、SQL SERVER、ORACLE、MYSQL等作后台数据库,选择ASP、VB、VC、JAVA等作为前台开发工具设计一个小型管理系统。所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能,功能越强大越好。根据题目的基本需求,设计数据库、
2、编写程序,并写出详细的设计说明书。每班以2人为一组自由分组,由班长将分组情况报到指导教师处;需要提交的文档资料:设计说明书每人一份(包括:参考资料的阅读心得,功能需求说明,设计思路,数据表结构及作用,数据关系图,存储过程代码及相关注释,设计体会);电子文档:可运行的,能实现全部或者主要基本功能的小型系统。课程设计说明书编写规范 : a. 需求分析:题目要求达到的功能,所提供的原始数据,需要输出的数据及样式等。b. 数据库设计:根据要求设计数据库的结构,包括:表、数据完整性、关系、视图。c. 开发方案选择:主要是前端开发平台的选择与方案的比较,至少比较两套方案。d. 安全性设计:登录用户、数据库
3、用户、数据库角色、命令许可等方面。e. 前台应用程序设计:要求至少完成经过前台程序实现对后台数据库的数据查询、插入、删除与更新。涉及到数据的所有操作要求采用存储过程的方式进行。f. 附录或参考资料:参考资料来源,阅读心得。参考资料阅读心得:参考资料(老师提供):2、 教材信息数据库高校的教材管理需要相应的数据库环境,请根据如下系统需求定义数据表结构及关系,并经过编写存储过程来实现其中的两项功能:1)、教材出入库(1)教材入库将教材内部识别号、入库时间,入库数,适用对象等信息输入到教材入库记录表中,并更新在库教材信息表。教材入库后把教材征订单相应项目做教材收到标记。(暂不处理订单中某教材只入库其
4、中一部分的情况,即缺货情况。)(2)教材出库教师或学生或班级或其它人员领用教材,需要把教材内部编号,教材代号,出库时间,出库数量,使用单位(指班级或教师,可多个班级或教师),用途,经办人等信息输入到教材出库记录表中。并同时更新教材信息表中的在库数量。为便于教材信息的录入,可经过班级名称、课程名称或教材名称查询到要出库的教材信息表中相应教材的内部编号。(3)教材信息录入将教材的内部识别号(由本系统自动维护),代号,书名,编著者,出版社,版次,定价,入库时间,入库数,适用对象等信息录入到系统的数据库中。2)、教材查询(1)在库教材查询查询教材在库情况:可按书名、代号等查询, 可查询某班级使用的教材
5、及在库数量,可查询某课程使用的教材及在库数量。可查询指定教材的在库数量,价值总额。可查询教材在库的统计信息:在库教材总数、种类总数、价值总额。(2)教材出库查询教材出库信息查询:按教材代号等信息查询教材出库情况,可查询某使用对象(包括班级、教师、部门、其它人员)的教材出库情况。可查询某时间范围内(学期、年等)的教材出库情况。(3)教材历史查询查询指定书的在库及出入库的历史信息,也可按时间或时间范围查询教材入库情况。便于管理员掌握教材出入库情况。3)、教材订购(1)、生成教材订单根据输入的各专业班级课程教材选用信息、教材出版社信息生成订单。(2)、教材订单状态管理订单状态管理:可标记各订单为有效
6、(款项发出),图书入库后标记订单为到货,图书退回标记为退换货。4)、教材订单查询可查询指定学期教材订单的到货、缺货情况,查询订单未到教材的订货公司信息包括它的银行帐号、地址、联系人、联系方法等,以便与其联系。5)、其它相关数据:学生相关、课程相关、教师相关、班级相关、系部相关阅读心得 :我们的选题是仓库管理系统,和教材信息数据库大致相同,实现的功能略作添加;我们需要完成的任务:(1).这个实验本质就是设置合理的操作界面,实现对数据库的数据读取、修改、删除、更新等操作;(2). 系统的完备性和操作的安全性,是完善软件的关键,其中包括:插入相同信息 ;数据库中物品数量不足 ;管理员编号不存在 ;安
7、全登录 ;不同角色的对数据库的操作权限 ;等等问题,都是我们需要解决的基本问题;(3) 界面的美化和操作的快捷性和正确性 ;界面是给客户的第一感触,尽量的新颖而且符合客户要求 :(这里我们是学习,争取掌握多一点处理界面的函数,没有系统的规划) 如果美化界面是尽量的完善,那么操作的快捷性和正确性是必须要实现的,给客户一个合理的操作是成功的必备条件;(4) 分工与合作我们两个人都是java的初级学习者,不断的学习,分别设计不同的界面,相互交流实现效果的的经验;关于数据库的知识和SQL语言的学习,都是我们要重新学习的;(5) 文档的处理和制作,也是我们要完成的重要任务,我们也是分工完成;概述1.设计
8、思路:(1)仓库管理系统,实现功能:入库登记 : 商品入库记录;出库登记 : 库存商品出库;在库商品查询 : 库存物品查询;出库入库信息查询 : 按时间,操作管理员查询操作信息;管理员信息管理 : 管理员的登记,查询,删除;(2).附加实现功能:登录界面 : 实现管理员员和客户的不同角色登录;界面的转换 : 分别创立不同的窗口,并及时删除浏览过的窗口;分角色设定使用权限: 管理员和客户的使用权限不同;(3).异常处理:操作错误 : 信息输入错误等;常规错误 : 仓库物品数量不足等;2.运用技术:(1) 界面实现 : java语言;(2) 数据路操作实现 :使用Access ,运用SQL语言进行
9、操作;实现及操作根据分析,一共设计9个类,如下图,其中:数据库操作类:DBAccess :实现连接,查询修改等分步操作 ;GetDBInfo :实现查询结果集的返回 ;操作界面类:Enter :登录界面Select : 功能选择界面InStoreHouse : 物品入库操作界面OutStoreHouse : 物品出库操作界面SearchGoods : 物品查询界面OutIn :出入库查询界面ManagerInfo : 管理员信息管理界面分步实现说明:1. DBAccess类public Statement getStatement(String dbPath) throws Exception
10、:返回连接数据库的状态 ;public ResultSet executeQuery(Statement stmt,String query) throws Exception :返回查询结果集;public void executeUpdate(Statement stmt,String query) throws SQLException :更新数据库 ;public void close() throws SQLException :关闭数据库的连接 ;2. GetDBInfo类private VectorVector rows ; 记录查询返回元组private Vector colu
11、mnHeads ; 记录查询返回结果的标题 /获取表头VolumnHeadspublic Vector getColumnHeads() ;/获取表中内容public Vector getRows() ;/ 更新数据库 public void executeUpdate(Statement stmt,String query) throws SQLException ; 3. Enter类private JFrame frame ;private JButton enterButton ;private JButton resetButton;用于标识登陆角色的单选按钮private JRad
12、ioButton radioButton1 ;private JRadioButton radioButton2 ;private JTextField nameText ;private JPasswordField passwordText ;表示登录身份:public static boolean isManager = false ;实现效果:基本实现:(1)图片载入:JLabel label4 = new JLabel(); ImageIcon icon = new ImageIcon(E:studyjavaworkspaceStoreHouseabc.jpg);label4.set
13、Icon(icon);(2)单选按钮:ButtonGroup group = new ButtonGroup();radioButton1 = new JRadioButton(管理员,false);radioButton2 = new JRadioButton(客户,true);group.add(radioButton1) ;group.add(radioButton2) ;4. InStoreHouse类基本成员变量:private JFrame frame ;输入信息的11个文本框:private JTextField text1 - 11; private JTextField in
14、foText ;private JButton okButton ;private JButton backButton ;设置日期格式:private static final String YYYMMDDHHMMSS = yyyy/MM/dd HH:mm:ss;基本函数:/SQL语句生成public String getSQL()/自动生成插入时间 public String insertTime()/自动生成入库IDpublic String inHouseID()/清除文本框public void clear()实现效果:基本功能实现:监听器的设定:public void action
15、Performed(ActionEvent e) Object source = e.getSource() ; if(source = okButton) try DBAccess db=new DBAccess(); String dbPath=E:studyjavaworkspaceStoreHouseStoreHouse.mdb; Statement stmt=db.getStatement(dbPath); String query = getSQL(); db.executeUpdate(stmt,query) ; query = insertSQL() ; db.executeU
16、pdate(stmt,query) ; stmt.close(); db.close() ; infoText.setText(存储成功); clear() ; catch (Exception ex) ex.printStackTrace() ; else if(source = backButton) frame.dispose() ; new Select() ; 5. OutStoreHouse类基本成员变量:private JFrame frame ;private JButton okButton ;private JButton backButton ;private JText
17、Field text1;private JTextField text2;private JTextField text3;private JTextField text4;private static final String YYYMMDDHHMMSS = yyyy/MM/dd HH:mm:ss;private Integer num ; /修改数据里中数量的临时变量基本函数:同InStoreHouse雷同实现效果:基本功能实现:处理物品编号不存在,以及数量不足的问题:public void actionPerformed(ActionEvent e)Object source = e.g
18、etSource() ;if(source = okButton)tryDBAccess db=new DBAccess(); String dbPath=E:studyjavaworkspaceStoreHouseStoreHouse.mdb; String query=getGoodsSQL(); Statement stmt=db.getStatement(dbPath); ResultSet rs=db.executeQuery(stmt, query); if(!(rs.next()/判断数据库中是否有内容JOptionPane.showMessageDialog(null, 输入货
19、物编号不存在, 提示信息,JOptionPane.INFORMATION_MESSAGE);text3.setText(操作失败);clear() ;else/判断仓库物品是否够/这里实验了很多次 为什么 只有num = 放在这里才能够呢if(num = Integer.valueOf(rs.getString(1).intValue() - Integer.valueOf(text2.getText().intValue() 0)JOptionPane.showMessageDialog(null, 仓库货物不足, 提示信息,JOptionPane.INFORMATION_MESSAGE);
20、clear() ;text3.setText(操作失败);elsequery = getSendOutSQL() ;db.executeUpdate(stmt, query) ;query = updateGoodsSQL(num) ;db.executeUpdate(stmt, query) ;text3.setText(操作成功); stmt.close() ; db.close() ; catch (Exception ex) ex.printStackTrace() ; else if(source = backButton)frame.dispose() ;new Select()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 课程设计 仓库 管理
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。