ImageVerifierCode 换一换
格式:DOCX , 页数:76 ,大小:461.93KB ,
资源ID:6957586      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6957586.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库系统课程设计仓库管理系统java.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库系统课程设计仓库管理系统java.docx

1、数据库系统课程设计仓库管理系统java实验报告仓库管理系统实验课程数据库实验实验者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) 文档的处理和制作,也是我们要完成的重要任务,我们也是分

8、工完成;概述1.设计思路:(1)仓库管理系统,实现功能:入库登记 : 商品入库记录;出库登记 : 库存商品出库;在库商品查询 : 库存物品查询;出库入库信息查询 : 按时间,操作管理员查询操作信息;管理员信息管理 : 管理员的登记,查询,删除;(2).附加实现功能: 登录界面 : 实现管理员员和客户的不同角色登录; 界面的转换 : 分别创建不同的窗口,并及时删除浏览过的窗口; 分角色设定使用权限: 管理员和客户的使用权限不同;(3).异常处理: 操作错误 : 信息输入错误等; 常规错误 : 仓库物品数量不足等; 2.运用技术:(1)界面实现 : java语言;(2)数据路操作实现 :使用Acc

9、ess2003,运用SQL语言进行操作;实现及操作根据分析,一共设计9个类,如下图,其中:数据库操作类: DBAccess :实现连接,查询修改等分步操作 ; GetDBInfo :实现查询结果集的返回 ;操作界面类: Enter : 登录界面 Select : 功能选择界面 InStoreHouse : 物品入库操作界面 OutStoreHouse : 物品出库操作界面 SearchGoods : 物品查询界面 OutIn : 出入库查询界面 ManagerInfo : 管理员信息管理界面分步实现说明:1.DBAccess类public Statement getStatement(Stri

10、ng dbPath) throws Exception:返回连接数据库的状态 ;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 ; 记

11、录查询返回元组private Vector columnHeads ; 记录查询返回结果的标题 /获取表头VolumnHeads public Vector getColumnHeads() ;/获取表中内容 public Vector getRows() ;/ 更新数据库 public void executeUpdate(Statement stmt,String query) throws SQLException ; 3.Enter类private JFrame frame ;private JButton enterButton ;private JButton resetButto

12、n;用于标识登陆角色的单选按钮private JRadioButton 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:studyjavaworkspac

13、eStoreHouseabc.jpg); label4.setIcon(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 JTextFie

14、ld text1 - 11; private JTextField infoText ;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()

15、实现效果:基本功能实现:监听器的设定: public void actionPerformed(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,quer

16、y) ; query = insertSQL() ; db.executeUpdate(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 ; p

17、rivate JButton backButton ; private JTextField 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 act

18、ionPerformed(ActionEvent e) Object source = e.getSource() ; if(source = okButton) try DBAccess 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()/

19、判断数据库中是否有内容 JOptionPane.showMessageDialog(null, 输入货物编号不存在, 提示信息,JOptionPane.INFORMATION_MESSAGE); text3.setText(操作失败); clear() ; else /判断仓库物品是否够 /这里实验了很多次 为什么 只有num = 放在这里才可以呢 if(num = Integer.valueOf(rs.getString(1).intValue() - Integer.valueOf(text2.getText().intValue() 0) JOptionPane.showMessageD

20、ialog(null, 仓库货物不足, 提示信息,JOptionPane.INFORMATION_MESSAGE); clear() ; text3.setText(操作失败); else query = getSendOutSQL() ; db.executeUpdate(stmt, query) ; query = updateGoodsSQL(num) ; db.executeUpdate(stmt, query) ; text3.setText(操作成功); stmt.close() ; db.close() ; catch (Exception ex) ex.printStackTr

21、ace() ; else if(source = backButton) frame.dispose() ; new Select() ; 解析:这里应用到数据类型的转变,String 到int double的转化;还可以应用其他方法: 如: rs.getInt(3); 直接读取数据库中的 int类型; rs.getDouble(4) :直接读取double类型6.SearchGoods类基本成员函数:private JFrame frame ;private JScrollPane jsp ;private JComboBox nameList ;private JComboBox type

22、List ;private JComboBox productList ;private JTextField countText ;private JTextField valueText ; private JButton okButton ;private JTable table ;private DefaultTableModel model ;private JButton backButton ; private Vector rows; /表行值private Vector columnHeads;/ 表列名/查询使用 :String str1,str2,str3 ;基本函数实

23、现相同;实现效果:7. OutIn类基本函数变量: private JFrame frame ; private JRadioButton inButton ; private JRadioButton outButton; private JButton okButton ; private JButton backButton ; private JComboBox combox1 ; private JComboBox combox2 ; private JTable table ; private Vector rows; /表行值 private Vector columnHeads

24、;/ 表列名 private DefaultTableModel model ; private JScrollPane jsp ; private String str1 = null ,str2 = null ; /查询使用 private boolean flag = false ; private int tmp = 0 ; private static final String YYYMMDDHHMMSS = yyyy/MM/dd;实现效果:基本实现:时间字符创的分割处理 ;8.Select类基本成员变量private JButton button1 ; private JButto

25、n button2 ; private JButton button3 ; private JButton button4; private JButton button5 ; private JButton button6 ; private JTextField Text ; private JFrame frame ;实现效果:基本实现:界面效果实现:infoLabel.setHorizontalAlignment(SwingConstants.CENTER); infoLabel.setBackground(Color.gray) ;Text.setBackground(Color.g

26、ray) ;Text.setForeground(Color.cyan) ;Text.setFont(new Font(宋体,Font.HANGING_BASELINE,20); 9.ManagerInfo 类 基本函数: private JFrame frame ; private JTabbedPane tabbedPane ; private JLabel label1 ; private JLabel label2 ; private JLabel label3 ; private JPanel panel1 ; private JPanel panel2 ; private JPan

27、el panel3 ; private JComboBox ageBox ; private JComboBox workAgeBox ; private JComboBox postionBox ; private JTextField text21 ; private JTextField text22 ; private JTextField text23 ; private JTextField text24 ; private JTextField text25 ; private JTextField text26 ; private JTextField text27 ; pri

28、vate JTextField text28 ; private JTextField text31 ; private JTextField text32 ; private JButton button11 ; private JButton button12 ; private JButton button21 ; private JButton button31 ; private JButton backButton ; private JTable table ; private Vector rows; /表行值 private Vector columnHeads;/ 表列名

29、private DefaultTableModel model ; private JScrollPane jsp ; private String str1= null,str2 = null ,str3 = null ; /查询使用基本功能函数:这里的函数处理和上面的相同,只是在布局上采用了JtablePanle面板,将三个功能加在同一个窗口里;实现效果:处理问题:要删除的管理员信息不存在:if(source = button31) boolean deleteState = false ; try DBAccess db=new DBAccess(); String dbPath=E:studyjavaworkspaceStoreHouseStoreHouse.mdb; String query = select * from Manager where 编号 = + + text31.getText() + ;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1