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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(数据库系统课程设计仓库管理系统.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

1、 数据库系统课程设计仓库管理系统 实验报告 仓库管理系统 实验课程 数据库实验 实验者1 姓名 班级 学号 实验者2 姓名 班级 学号 实验时间 指导老师 目录 P3 要求 P4 参考资料阅读心得 P6 概述 (设计思路、实现功能、运用技术) P7 实现及操作 (关键代码解析、运行结果、类方法的介绍) P17 存在问题和需要改进的地方 P18 附录 (完整代码 包括 分布调试代码) 要求: 使

2、用ACCESS、SQL SERVER、ORACLE、MYSQL等作后台数据库,选择ASP、VB、VC、JAVA等作为前台开发工具设计一个小型管理系统。所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能,功能越强大越好。根据题目的基本需求,设计数据库、编写程序,并写出详细的设计说明书。 每班以2人为一组自由分组,由班长将分组情况报到指导教师处; 需要提交的文档资料:设计说明书每人一份(包括:参考资料的阅读心得,功能需求说明,设计思路,数据表结构及作用,数据关系图,存储过程代码及相关注释,设计体会);电子文档:可运行的,能实现全部或者主要基本功能的小型系统。 课程设计说明书编写规

3、范 : a. 需求分析:题目要求达到的功能,所提供的原始数据,需要输出的数据及样式等。 b. 数据库设计:根据要求设计数据库的结构,包括:表、数据完整性、关系、视图。 c. 开发方案选择:主要是前端开发平台的选择与方案的比较,至少比较两套方案。 d. 安全性设计:登录用户、数据库用户、数据库角色、命令许可等方面。 e. 前台应用程序设计:要求至少完成经过前台程序实现对后台数据库的数据查询、插入、删除与更新。涉及到数据的所有操作要求采用存储过程的方式进行。 f. 附录或参考资料:参考资料来源,阅读心得。 参考资料阅读心得: 参考资料(老师提供): 2、 教材信息数据库

4、高校的教材管理需要相应的数据库环境,请根据如下系统需求定义数据表结构及关系,并经过编写存储过程来实现其中的两项功能: 1)、教材出入库 (1)教材入库 将教材内部识别号、入库时间,入库数,适用对象等信息输入到教材入库记录表中,并更新在库教材信息表。教材入库后把教材征订单相应项目做教材收到标记。(暂不处理订单中某教材只入库其中一部分的情况,即缺货情况。) (2)教材出库 教师或学生或班级或其它人员领用教材,需要把教材内部编号,教材代号,出库时间,出库数量,使用单位(指班级或教师,可多个班级或教师),用途,经办人等信息输入到教材出库记录表中。并同时更新教材信息表中的在库数量。为便于教材信

5、息的录入,可经过班级名称、课程名称或教材名称查询到要出库的教材信息表中相应教材的内部编号。 (3)教材信息录入 将教材的内部识别号(由本系统自动维护),代号,书名,编著者,出版社,版次,定价,入库时间,入库数,适用对象等信息录入到系统的数据库中。 2)、教材查询 (1)在库教材查询 查询教材在库情况: 可按书名、代号等查询, 可查询某班级使用的教材及在库数量,可查询某课程使用的教材及在库数量。可查询指定教材的在库数量,价值总额。 可查询教材在库的统计信息:在库教材总数、种类总数、价值总额。 (2)教材出库查询 教材出库信息查询: 按教材代号等信息查询教材出库情况,可查询某使

6、用对象(包括班级、教师、部门、其它人员)的教材出库情况。可查询某时间范围内(学期、年等)的教材出库情况。 (3)教材历史查询 查询指定书的在库及出入库的历史信息,也可按时间或时间范围查询教材入库情况。便于管理员掌握教材出入库情况。 3)、教材订购 (1)、生成教材订单 根据输入的各专业班级课程教材选用信息、教材出版社信息生成订单。 (2)、教材订单状态管理 订单状态管理:可标记各订单为有效(款项发出),图书入库后标记订单为到货,图书退回标记为退换货。 4)、教材订单查询 可查询指定学期教材订单的到货、缺货情况,查询订单未到教材的订货公司信息包括它的银行帐号、地址、联系人、联系

7、方法等,以便与其联系。 5)、其它相关数据:学生相关、课程相关、教师相关、班级相关、系部相关 阅读心得 : 我们的选题是仓库管理系统,和教材信息数据库大致相同,实现的功能略作添加; 我们需要完成的任务: (1).这个实验本质就是设置合理的操作界面,实现对数据库的数据读取、修改、删除、更新等操作; (2). 系统的完备性和操作的安全性,是完善软件的关键,其中包括: 插入相同信息 ; 数据库中物品数量不足 ; 管理员编号不存在 ; 安全登录 ; 不同角色的对数据库的操作权限 ; 等等问题,都是我们需要解决的基本问题;

8、 (3) 界面的美化和操作的快捷性和正确性 ; 界面是给客户的第一感触,尽量的新颖而且符合客户要求 : (这里我们是学习,争取掌握多一点处理界面的函数,没有系统的规划) 如果美化界面是尽量的完善,那么操作的快捷性和正确性是必须要实现的,给客户一个合理的操作是成功的必备条件; (4) 分工与合作 我们两个人都是java的初级学习者,不断的学习,分别设计不同的界面,相互交流实现效果的的经验; 关于数据库的知识和SQL语言的学习,都是我们要重新学习的; (5) 文档的处理和制作,也是我们要完成的重要任务,我们也是分工完成; 概述 1.设计思路: (1).仓库

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

10、java语言; (2) 数据路操作实现 :使用Access ,运用SQL语言进行操作; 实现及操作 根据分析,一共设计9个类,如下图,其中: 数据库操作类: DBAccess :实现连接,查询修改等分步操作 ; GetDBInfo :实现查询结果集的返回 ; 操作界面类: Enter : 登录界面 Select : 功能选择界面 InStoreHouse : 物品入库操作界面 OutStoreHouse : 物品出库操作界面 SearchGoods : 物品查询界面 OutIn : 出入库查询界面 Man

11、agerInfo : 管理员信息管理界面 分步实现说明: 1. DBAccess类 public Statement getStatement(String dbPath) throws Exception: 返回连接数据库的状态 ; public ResultSet executeQuery(Statement stmt,String query) throws Exception : 返回查询结果集; public void executeUpdate(Statement stmt,String query) throws SQLException : 更新数据库

12、 public void close() throws SQLException : 关闭数据库的连接 ; 2. GetDBInfo类 private Vector> rows ; 记录查询返回元组 private Vector columnHeads ; 记录查询返回结果的标题 //获取表头VolumnHeads public Vector getColumnHeads() ; //获取表中内容 public Vector getRows() ; // 更新数据库 public void executeUpdate(State

13、ment stmt,String query) throws SQLException ; 3. Enter类 private JFrame frame ; private JButton enterButton ; private JButton resetButton; 用于标识登陆角色的单选按钮 private JRadioButton radioButton1 ; private JRadioButton radioButton2 ; private JTextField nameText ; private JPasswordField passwor

14、dText ; 表示登录身份: public static boolean isManager = false ; 实现效果: 基本实现: (1)图片载入: JLabel label4 = new JLabel(); ImageIcon icon = new ImageIcon("E:\\study\\java\\workspace\\StoreHouse\\abc.jpg"); label4.setIcon(icon); (2)单选按钮: ButtonGroup group = new ButtonGroup(); radioButton1 = new JR

15、adioButton("管理员",false); radioButton2 = new JRadioButton("客户",true); group.add(radioButton1) ; group.add(radioButton2) ; 4. InStoreHouse类 基本成员变量: private JFrame frame ; 输入信息的11个文本框: private JTextField text1 - 11; private JTextField infoText ; private JButton okButton ; private JBut

16、ton backButton ; 设置日期格式:private static final String YYYMMDDHHMMSS = "yyyy/MM/dd HH:mm:ss"; 基本函数: //SQL语句生成 public String getSQL() //自动生成插入时间 public String insertTime() //自动生成入库ID public String inHouseID() //清除文本框 public void clear() 实现效果: 基本功能实现: 监听器的设定: public void actionPerforme

17、d(ActionEvent e){ Object source = e.getSource() ; if(source == okButton){ try{ DBAccess db=new DBAccess(); String dbPath="E:\\study\\java\\workspace\\StoreHouse\\StoreHouse.mdb"; Statement stmt=db.getStatement(dbPath); String query = getSQL(

18、); db.executeUpdate(stmt,query) ; query = insertSQL() ; db.executeUpdate(stmt,query) ; stmt.close(); db.close() ; infoText.setText("存储成功"); clear() ; }catch (Exception ex){ ex.printStackTrace() ; } }else

19、if(source == backButton){ frame.dispose() ; new Select() ; } } 5. OutStoreHouse类 基本成员变量: private JFrame frame ; private JButton okButton ; private JButton backButton ; private JTextField text1; private JTextField text2; private JTextField text3; priva

20、te 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.getSource() ; if(source == okButton){

21、 try{ DBAccess db=new DBAccess(); String dbPath="E:\\study\\java\\workspace\\StoreHouse\\StoreHouse.mdb"; String query=getGoodsSQL(); Statement stmt=db.getStatement(dbPath); ResultSet rs=db.executeQuery(stmt, query); if(!(rs.next()))//判断

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

23、ueOf(text2.getText()).intValue()) < 0){ JOptionPane.showMessageDialog(null, "仓库货物不足", "提示信息",JOptionPane.INFORMATION_MESSAGE); clear() ; text3.setText("操作失败"); }else{ query = getSendOutSQL() ; db.executeUpdate(stmt, query) ; query = updateGood

24、sSQL(num) ; db.executeUpdate(stmt, query) ; text3.setText("操作成功"); } } stmt.close() ; db.close() ; }catch (Exception ex){ ex.printStackTrace() ; } }else if(source == backButton){ frame.dispose() ; new Select()

25、 } } 解析: 这里应用到数据类型的转变,String 到int double的转化; 还能够应用其它方法: 如: rs.getInt(3); 直接读取数据库中的 int类型; rs.getDouble(4) :直接读取double类型 6. SearchGoods类 基本成员函数: private JFrame frame ; private JScrollPane jsp ; private JComboBox nameList ; private JComboBox typeList ; private JComboBox prod

26、uctList ; 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 ; 基本函数实现相同;

27、 实现效果: 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; //表行值

28、 private Vector columnHeads;// 表列名 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"; 实现效果: 基本实现: 时间字符创的分割处理 ;

29、 8. Select类 基本成员变量 private JButton button1 ; private JButton button2 ; private JButton button3 ; private JButton button4; private JButton button5 ; private JButton button6 ; private JTextField Text ; private JFrame frame ; 实现效果: 基本实现: 界面效果实现: infoLabel.setHorizontalAlignment(Sw

30、ingConstants.CENTER); infoLabel.setBackground(Color.gray) ; Text.setBackground(Color.gray) ; Text.setForeground(Color.cyan) ; Text.setFont(new Font("宋体",Font.HANGING_BASELINE,20)); 9. ManagerInfo 类 基本函数: private JFrame frame ; private JTabbedPane tabbedPane ; private JLabel label1

31、 ; private JLabel label2 ; private JLabel label3 ; private JPanel panel1 ; private JPanel panel2 ; private JPanel panel3 ; private JComboBox ageBox ; private JComboBox workAgeBox ; private JComboBox postionBox ; private JTextField text21 ; private JTextField text22 ; private J

32、TextField text23 ; private JTextField text24 ; private JTextField text25 ; private JTextField text26 ; private JTextField text27 ; private JTextField text28 ; private JTextField text31 ; private JTextField text32 ; private JButton button11 ; private JButton button12 ; private JBu

33、tton button21 ; private JButton button31 ; private JButton backButton ; private JTable table ; private Vector rows; //表行值 private Vector columnHeads;// 表列名 private DefaultTableModel model ; private JScrollPane jsp ; private String str1= null,str2 = null ,str3 = null ; //查询使用 基本功能

34、函数: 这里的函数处理和上面的相同,只是在布局上采用了JtablePanle面板,将三个功能加在同一个窗口里; 实现效果: 处理问题: 要删除的管理员信息不存在: if(source == button31){ boolean deleteState = false ; try{ DBAccess db=new DBAccess(); String dbPath="E:\\study\\java\\workspace\\StoreHouse\\StoreHouse.mdb"; String que

35、ry = "select * from Manager where 编号 = " + "'" + text31.getText() + "'"; Statement stmt=db.getStatement(dbPath); ResultSet rs=db.executeQuery(stmt, query); while(rs.next()){ if(rs.getString(1).equals(text31.getText())){ query = "delete from Manager where

36、 编号 = " + "'" + text31.getText() + "'"; db.executeUpdate(stmt,query) ; text31.setText(""); text32.setText("删除成功"); deleteState = true ; } } stmt.close(); db.close() ; }catch (Exception ex){ ex.printStack

37、Trace() ; } if(deleteState == false) { text32.setText("输入编号不存在"); text31.setText(""); } 解析: 在删除之前,对数据库进行检查,判断 管理员编号 是否存在 ; 存在问题和需要完善的问题 附录 : 代码实现 DBAccess.Java文件 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Resu

38、ltSet; import java.sql.SQLException; import java.sql.Statement; public class DBAccess { public Connection conn=null; // 连接未加密的数据库 public Statement getStatement(String dbPath) throws Exception{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String dburl = "j

39、dbc:odbc:driver= {Microsoft Access Driver (*.mdb)};" + "DBQ="+dbPath;// 此为NO-DSN方式 // String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式 conn = DriverManager.getConnection(dburl); return conn.createStatement(); } //连接加密的数据库 public Statement getStatem

40、ent(String dbPath,String password) throws Exception{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String dburl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};" + "pwd="+password+";DBQ="+dbPath;// 此为NO-DSN方式 // String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式

41、 conn = DriverManager.getConnection(dburl); return conn.createStatement(); } /* 查询数据库 */ public ResultSet executeQuery(Statement stmt,String query) throws Exception{ ResultSet rs=stmt.executeQuery(query); return rs; }

42、/* * 更新数据库 */ public void executeUpdate(Statement stmt,String query) throws SQLException{ stmt.executeUpdate(query); } /** * 关闭链接 */ public void close() throws SQLException{ if(conn!=null) conn.close(); }

43、 public static void main(String args[]) throws Exception { DBAccess db=new DBAccess(); String dbPath="E:\\study\\java\\workspace\\StoreHouse\\StoreHouse.mdb"; String query="select * from Manager"; Statement stmt=db.getStatement(dbPath); Re

44、sultSet rs=db.executeQuery(stmt, query); while(rs.next()){ System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3) + "\t" + rs.getString(4) + "\t" + rs.getString(5) + rs.getString(6) + rs.getString(7));

45、 } } } Enter.java文件 import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.sql.ResultSet; import java.sql.Statement; public class Enter implements ActionListener{ private JFrame frame ; private JButton enterButton ; private JButton resetBut

46、ton; private JRadioButton radioButton1 ; private JRadioButton radioButton2 ; private JTextField nameText ; private JPasswordField passwordText ; public static boolean isManager = false ; public Enter(){ frame = new JFrame("仓库管理系统登录界面"); enterButton = new JButton("登录"); rese

47、tButton = new JButton("重置"); JLabel label1 = new JLabel("用户名 :"); JLabel label2 = new JLabel("密 码 :"); JLabel label3 = new JLabel("登录方式 :"); JLabel label4 = new JLabel(); JLabel label5 = new JLabel(); JLabel label6 = new JLabel(); JLabel label7 = new JLabel(); ImageIcon ic

48、on = new ImageIcon("E:\\study\\java\\workspace\\StoreHouse\\abc.jpg"); label4.setIcon(icon); label5.setText("华润品牌"); label7.setText("追求卓越"); label6.setText("中心软件,让您选择无悔的软件,感谢支持 晓伟O(∩_∩)O~制作"); nameText = new JTextField(); passwordText = new JPasswordField();

49、 //单选按钮 ButtonGroup group = new ButtonGroup(); radioButton1 = new JRadioButton("管理员",false); radioButton2 = new JRadioButton("客户",true); group.add(radioButton1) ; group.add(radioButton2) ; /* * 字体等格式设置 */ label1.setHorizontalAlignment(SwingConstants.CENTER);

50、 label2.setHorizontalAlignment(SwingConstants.CENTER); label3.setHorizontalAlignment(SwingConstants.CENTER); label5.setHorizontalAlignment(SwingConstants.CENTER) ; label6.setHorizontalAlignment(SwingConstants.CENTER) ; label1.setFont(new Font("宋体",Font.HANGING_BASELINE,30)); lab

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服