




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(计算机学院)数据库课程设计报告题 目:仓库管理系统 专业名称: xxxx班 级: xxxxx 学生姓名:xx学号(8位):xxxx指导教师: xxxxx起止时间: 2014年06月02日2014年06月13日一、课程设计目的在数据库原理课程基础上,培养学生综合运用数据库知识的能力。学会数据库的设计、规划以及应用程序的开发和调试,使学生掌握客户机/服务器体系结构,学会大型数据库的工作模式。大型数据库管理系统存放于服务器,数据库放在服务器上,学生在客户机上开发应用程序访问服务器上的数据库,并完成应用系统所要求的各项功能,应用程序的开发需要采用当前流行的新软件。二、课程设计内容自行设计并实现一个较为完整的数据库应用系统的设计与开发,锻炼学生综合运用数据库知识的能力,并学会一种当前流行的软件开发工具。1.数据库的设计 根据所选的题目,经过调查研究,构建合理的数据库。首先构建基本表以及表和表之间的联系,在此基础上构建视图和索引表。2.服务器的组织 根据建立的基本表、视图和索引表搭建服务器。3.前端开发工具:Delphi,VB, PB, VC+, Builder C+,Java等都是当前流行的前台开发工具,选择其中一种进行学习并完成编写程序。服务器端:SQL Server2005 4.开发应用程序 利用所学的新软件开发工具进行应用程序的开发。5.连接、调试。三、软硬件环境及系统所采用的体系结构系统的体系结构为C/S结构开发工具为JAVA和SQL Server 2005四、需求分析系统功能:仓库管理系统主要提供一个仓库业务及其作业管理的信息存储和检索系统。通过入库管理和出库管理、仓库人员管理等功能模块来实现仓库的综合管理。本系统管理分为仓库普通人员管理和仓库内部人员管理。普通人员只能对仓库系统的数据进行查询功能;内部人员可以对系统的数据进行删除,修改,添加,以便于来管理整个系统。通过对数据的修改实现货物的出库与入库。实现的目标:在数据库和现金的开发平台上,利用现有资源开发一个体系结构完善的、易扩充的、易维护的、具有良好人机交互界面的仓库管理系统、实现仓库的计算机管理,提供完善的功能,为仓库管理人员提供便利的工作方式。五、系统设计系统登录主界面:分为普通用户登录和管理员登录,普通用户登录不需要输入密码就可以进入,管理员登录需要输入密码。普通用户界面:可以查询库房的基本信息,查询商品基本信息,查询供应商基本信息,查询客户基本信息。管理员登录界面:管理员管理界面:包含库房信息更改,商品信息更改,供应商信息更改,客户信息更改。库房信息更改界面:包含一个表格,显示库房的基本信息,另外还有三个按钮,分别实现信息的修改,删除,添加功能,当要删除信息时,在输入框里输入库房的编号,点击删除按钮即可;当要修改信息时,将库房修改后的基本信息输入文本框,用-分隔,再点击修改按钮即可;当要添加信息时,在文本框里输入基本信息,用-分隔,再点击添加按钮即可。商品信息更改界面:包含一个表格,显示库房的基本信息,另外还有三个按钮,分别实现信息的修改,删除,添加功能,当要删除信息时,在输入框里输入库房的编号,点击删除按钮即可;当要修改信息时,将库房修改后的基本信息输入文本框,用-分隔,再点击修改按钮即可;当要添加信息时,在文本框里输入基本信息,用-分隔,再点击添加按钮即可。供应商信息更改界面:包含一个表格,显示库房的基本信息,另外还有三个按钮,分别实现信息的修改,删除,添加功能,当要删除信息时,在输入框里输入库房的编号,点击删除按钮即可;当要修改信息时,将库房修改后的基本信息输入文本框,用-分隔,再点击修改按钮即可;当要添加信息时,在文本框里输入基本信息,用-分隔,再点击添加按钮即可。客户信息更改界面:包含一个表格,显示库房的基本信息,另外还有三个按钮,分别实现信息的修改,删除,添加功能,当要删除信息时,在输入框里输入库房的编号,点击删除按钮即可;当要修改信息时,将库房修改后的基本信息输入文本框,用-分隔,再点击修改按钮即可;当要添加信息时,在文本框里输入基本信息,用-分隔,再点击添加按钮即可。系统功能模块:系统管理主界面管理员登录普通用户登录供应商信息查询客户信息查询商品信息查询库房信息查询客户信息更改供应商信息更改商品信息更改库房信息更改删除信息添加信息修改信息删除信息修改信息添加信息删除信息修改信息添加信息删除信息修改信息添加信息2数据库设计ER图:供 应 商库 房数量提供存放客 户出库商 品数量库 房地址编号电话名称管理员商 品数量编号库房编号名称供应商编号供 应 商编号地址电话名称管理员客 户编号地址电话名称实体:库房(库房编号,库房名称,库房电话,库房管理员,库房地址);供应商(供应商编号,供应商名称,供应商管理员,供应商电话,供应商地址);商品(商品编号,商品名称,仓库编号,供应商编号,商品数量);客户(客户编号,客户姓名,客户电话,客户地址);关系:出库(客户编号,商品编号,商品数量);入库(供应商编号,商品编号,商品数量);客户表:商品表:库房表:供应商表:六、系统的实施流程图:主界面管理员登录普通用户登录普通用户查询界面管理员登录界面客户信息查询供应商信息查询商品信息查询库房信息查询输入用户名、密码进入管理员管理界面商品更改界面库房更改界面供应商更改界面客户更改界面返回返回系统的实现方法:首先用JAVA的GUI建好各个界面,每个界面有按钮,点击按钮后转到相对应的界面或功能,建好界面后,统一对按钮进行处理,添加监听器,实现界面之间的跳转。将系统与数据库连接,从数据库中查询出数据显示到界面上,也可以通过系统界面对数据库里的数据进行修改。重要编码:修改数据信息,里面包含了删除数据,增加数据,采用了split对字符串进行分隔jbtnStoreManageModify.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) connection();String sql = ;jlblStoreModify.setName(请输入更改后的信息(用-分隔));sql = jtfdStoreMessageModify.getText();String s = sql.split(-);try if(s.length = 5)if(statement.executeUpdate(DELETE FROM STORAGE WHERE StoID = +s0+) = 1)if(statement.executeUpdate(INSERT INTO STORAGE VALUES ( +s0+, +s1+,+ s2+,+s3+,+s4+) = 1)JOptionPane.showConfirmDialog(null,成功更改, 提示, JOptionPane.CLOSED_OPTION);elseJOptionPane.showConfirmDialog(null,没有找到, 提示, JOptionPane.CLOSED_OPTION);jtfdStoreMessageModify.setText();elseJOptionPane.showConfirmDialog(null,输入有误,重新输入, 提示, JOptionPane.CLOSED_OPTION); catch (SQLException e) e.printStackTrace();disconnection();initStoreTable(););七、系统评价及心得体会1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。在这次课程设计中,我设计的是一个仓库管理系统,通过设计这个系统,可以更方便地实现信息的浏览,查询,添加等操作功能,具体包括能实现产品入库管理,产品出库管理,虽然这个系统的功能还不是很完善,还有很多功能尚未实现,但这也是我们共同努力的结果,只要有更多的时间,我相信我们能完成的更好。合理之处:界面之间的跳转,按钮的使用,当对表进行修改、删除、添加时会在界面中显示现有表中的信息,方便用户对其操作。不足之处:本系统只实现了增删查改等功能,没有更多功能,安全性有待提高,还需继续改进。2、在学习过程中的感受。通过这次将近一个多星期的课程设计实训,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对SQL Server2005的认识,了解了相关的SQL的知识,尤其是对数据库的原理与开发程序的应用有了更进一步的认识和了解。一开始对JAVA的GUI组件也不熟悉,通过这次课程设计后,对JAVA的了解也更加的深入了。对JAVA和SQL Server 2005的连接也掌握并学会了运用。总之,这次课程设计学到了好多东西,将书本上学到的东西运用到了实际中,做到了学以致用。遇到问题时请教了同学,以及自己在网上查阅资料,在以后的工作中我一定要做到多思考多请教,遇到难题一定要有必胜的信心。八、参考文献数据库系统原理与应用人民邮电出版社 孟彩霞主编数据库原理及设计 清华大学出版社 陶宏才主编JAVA语言程序设计 北京邮电大学出版社 朱晓龙主编九、附录:源代码(略,详见电子版实验报告)import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.Font;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.table.JTableHeader;public class ManageSystem private JFrame jfrmMain;private JFrame jfrmKeepLogin;private JFrame jfrmUserLogin;private JFrame jfrmSystemManage;private JFrame jfrmStoreManage;private JFrame jfrmProManage;private JFrame jfrmSupManage;private JFrame jfrmCliManage;private Container conMain;private Container conKeepLogin;private Container conUserLogin;private Container conSystemManage;private Container conStoreManage;private Container conProManage;private Container conSupManage;private Container conCliManage;private JLabel jlblMainTopic;private JLabel jlblKeepLoginTopic;private JLabel jlblUserName;private JLabel jlblPassWord;private JLabel jlblUserLoginTopic;private JLabel jlblSystemManageTopic;private JLabel jlblStoreManageTopic;private JLabel jlblStoreMessage;private JLabel jlblStoreModify;private JLabel jlblProManageTopic;private JLabel jlblProMessage;private JLabel jlblProModify;private JLabel jlblSupManageTopic;private JLabel jlblSupMessage;private JLabel jlblSupModify;private JLabel jlblCliManageTopic;private JLabel jlblCliMessage;private JLabel jlblCliModify;private JButton jbtnUser;private JButton jbtnKeeper;private JButton jbtnKeepLogin;private JButton jbtnKeepLoginExit;private JButton jbtnProSelect;private JButton jbtnStoreSelect;private JButton jbtnSupSelect;private JButton jbtnCliSelect;private JButton jbtnUserLoginExit;private JButton jbtnSystemManageStore;private JButton jbtnSystemManageProduct;private JButton jbtnSystemManageSupplier;private JButton jbtnSystemManageClient;private JButton jbtnSystemManageExit;private JButton jbtnStoreManageModify;private JButton jbtnStoreManageIncrease;private JButton jbtnStoreManageReduce;private JButton jbtnStoreManageExit;private JButton jbtnProManageModify;private JButton jbtnProManageIncrease;private JButton jbtnProManageReduce;private JButton jbtnProManageExit;private JButton jbtnSupManageModify;private JButton jbtnSupManageIncrease;private JButton jbtnSupManageReduce;private JButton jbtnSupManageExit;private JButton jbtnCliManageModify;private JButton jbtnCliManageIncrease;private JButton jbtnCliManageReduce;private JButton jbtnCliManageExit;private JScrollPane jscpStore;private JScrollPane jscpPro;private JScrollPane jscpSup;private JScrollPane jscpCli;JTableHeader jthStore;JTableHeader jthPro;JTableHeader jthSup;JTableHeader jthCli;private JTable tabStore;private JTable tabPro;private JTable tabSup;private JTable tabCli;private JTextField jtfdUserName;private JPasswordField jpfdPassWord;private JTextField jtfdStoreMessageModify;private JTextField jtfdProMessageModify;private JTextField jtfdSupMessageModify;private JTextField jtfdCliMessageModify;public ManageSystem() initFrameMain();initFrameKeepLogin();initFrameUserLogin();initFrameSystemManage();initFrameStoreManage();initFrameProManage();initFrameSupManage();initFrameCliManage();dealAction();private Connection conn = null;private Statement statement = null;private ResultSet res = null;/与数据库连接public void connection() try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);conn = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=STORE,sa,123456);statement = conn.createStatement(); catch (ClassNotFoundException e) System.out.println(数据库驱动不存在。);e.printStackTrace(); catch(SQLException e) System.out.println(数据库连接异常。);e.printStackTrace();/断开数据库连接public void disconnection()try conn.close(); catch (SQLException e) e.printStackTrace();/所有按钮的方法private void dealAction()/客户管理界面的减少客户按钮jbtnCliManageReduce.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) connection();String sql = ;sql = jtfdCliMessageModify.getText();try int i = statement.executeUpdate(DELETE FROM CLIENT WHERE CliID = +sql+);if(i=1)JOptionPane.showConfirmDialog(null,成功删除, 提示, JOptionPane.CLOSED_OPTION);elseJOptionPane.showConfirmDialog(null,没有找到, 提示, JOptionPane.CLOSED_OPTION); catch (SQLException e) e.printStackTrace();JOptionPane.showConfirmDialog(null,数据库异常, 提示, JOptionPane.CLOSED_OPTION);disconnection();jtfdCliMessageModify.setText();initCliTable(););/客户管理界面的添加客户按钮jbtnCliManageIncrease.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) connection();jlblCliModify.setName(请输入添加客户的信息(用-分隔));String msg = ;msg = jtfdCliMessageModify.getText();String s = msg.split(-);try int i = statement.executeUpdate(INSERT INTO CLIENT VALUES ( +s0+, +s1+,+ s2+,+s3+);if(i=1)JOptionPane.showConfirmDialog(null,成功添加, 提示, JOptionPane.CLOSED_OPTION);elseJOptionPane.showConfirmDialog(null,添加失败, 提示, JOptionPane.CLOSED_OPTION); catch(ArrayIndexOutOfBoundsException e1)JOptionPane.showConfirmDialog(null,输入有误,重新输入, 提示, JOptionPane.CLOSED_OPTION);catch (SQLException e1) JOptionPane.showConfirmDialog(null,数据库异常, 提示, JOptionPane.CLOSED_OPTION);e1.printStackTrace();disconnection();jtfdCliMessageModify.setText();initCliTable(););/客户管理界面的修改信息按钮jbtnCliManageModify.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) connection();String sql = ;jlblCliModify.setName(请输入更改后的信息(用-分隔));sql = jtfdCliMessageModify.getText();String s = sql.split(-);try if(s.length = 4)if(statement.executeUpdate(DELETE FROM CLIENT WHERE SupID = +s0+) = 1)if(statement.executeUpdate(INSERT INTO CLIENT VALUES ( +s0+, +s1+,+ s2+,+s3+) = 1)JOptionPane.showConfirmDialog(null,成功更改, 提示, JOptionPane.CLOSED_OPTION);elseJOptionPane.showConfirmDialog(null,没有找到, 提示, JOptionPane.CLOSED_OPTION);jtfdCliMessageModify.setText();elseJOptionPane.showConfirmDialog(null,输入有误,重新输入, 提示, JOptionPane.CLOSED_OPTION); catch (SQLException e) JOptionPane.showConfirmDialog(null,数据库异常, 提示, JOptionPane.CLOSED_OPTION);e.printStackTrace();disconnection();initCliTable(););/客户管理界面的返回上一个窗口按钮jbtnCliManageExit.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) jfrmCliManage.setVisible(false);jfrmSystemManage.setVisible(true););/系统管理界面进入客户管理的按钮jbtnSystemManageClient.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) jfrmSystemManage.setVisible(false);jfrmCliManage.setVisible(true););/供应商管理界面删除供应商按钮jbtnSupManageReduce.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) connection();String sql = ;sql = jtfdSupMessageModify.getText();try int i = statement.executeUpdate(DELETE FROM SUPPLIER WHERE SupID = +sql+);if(i=1)JOptionPane.showConfirmDialog(null,成功删除, 提示, JOptionPane.CLOSED_OPTION);elseJOptionPane.showConfirmDialog(null,没有找到, 提示, JOptionPane.CLOSED_OPTION); catch (SQLException e) e.printStackTrace();disconnection();jtfdSupMessageModify.setText();initSupTable(););/供应商管理界面添加供应商按钮jbtnSupManageIncrease.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) connection();jlblSupModify.setName(请输入添加库房的信息(用-分隔));String msg = ;msg = jtfdSupMessageModify.getText();String s = msg.split(-);try int i = statement.executeUpdate(INSERT INTO SUPPLIER VALUES ( +s0+, +s1+,+ s2+,+s3+,+s4+);if(i=1)JOptionPane.showConfirmDialog(null,成功添加, 提示, JOptionPane.CLOSED_OPTION);elseJOptionPane.showConfirmDialog(null,添加失败, 提示, JOptionPane.CLOSED_OPTION); catch(ArrayIndexOutOfBoundsException e1)JOptionPane.showConfirmDialog(null,输入有误,重新输入, 提示, JOptionPane.CLOSED_OPTION);catch (SQLException e1) e1.printStackTrace();disconnection();jtfdSupMessageModify.setText();initSupTable(););/供应商管理界面修改信息按钮jbtnSupManageModify.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) connection();String sql = ;jlblSupModify.setName(请输入更改后的信息(用-分隔));sql = jtfdSupMessageModify.getText();String s = sql.split(-);try if(s.length = 5)if(statement.executeUpdate(DELETE FROM SUPPLIER WHERE SupID = +s0+) = 1)if(statement.executeUpdate(INSERT INTO SUPPLIER VALUES ( +s0+, +s1+,+ s2+,+s3+,+s4+) = 1)JOptionPane.showConfirmDialog(null,成功更改, 提示, JOptionPane.CLOSED_OPTION);elseJOptionPane.showConfirmDialog(null,没有找到, 提示, JOptionPane.CLOSED_OPTION);jtfdSupMessageModify.setText();elseJOptionPane.showConfirmDialog(null,输入有误,重新输入, 提示, JOptionPane.CLOSED_OPTION); catch (SQLException e) JOptionPane.showConfirmDialog(null,数据库异常, 提示, JOptionPane.CLOSED_OPTION);e.printStackTrace();disconnection();initSupTable(););/供应商管理返回上一个窗口按钮jbtnSupManageExit.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) jfrmSupManage.setVisible(false);jfrmSystemManage.setVisible(true););/系统管理界面进入供应商管理按钮jbtnSystemManageSupplier.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) jfrmSystemManage.setVisible(false);jfrmSupManage.setVisible(true););/商品管理界面删除商品按钮jbtnProManageReduce.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) connection();String sql = ;sql = jtfdProMessageModify.getText();try int i = statement.executeUpdate(DELETE FROM PRODUCT WHERE ProID = +sql+);if(i=1)JOptionPane.showConfirmDialog(null,成功删除, 提示, JOptionPane.CLOSED_OPTION);elseJOptionPane.showConfirmDialog(null,没有找到, 提示, JOptionPane.CLOSED_OPTION); catch (SQLException e) e.printStackTrace();disconnection();jtfdProMessageModify.setText();initProTable(););/商品管理界面添加商品按钮jbtnProManageIncrease.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) connection();jlblProModify.setName(请输入添加库房的信息(用-分隔));String msg = ;msg = jtfdProMessageModify.getText();String s = msg.split(-);try int i = statement.executeUpdate(INSERT INTO PRODUCT VALUES ( +s0+, +s1+,+ s2+,+s3+,+s4+);if(i=1)JOptionPane.showConfirmDialog(null,成功添加, 提示, JOptionPane.CLOSED_OPTION);elseJOptionPane.sho
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教学反思小学道法课件
- 护理学业务培训
- 放疗中心施工方案设计
- 精神科理论知识护理题库及答案解析
- 编制施工方案兼职网站
- 灭火器检查施工方案
- 南沙疫情总结汇报
- a2驾驶证 从业考试及答案解析
- 机械制造安全培训测试题及答案解析
- 合川写字楼地板施工方案
- 转岗申请表(标准样本)
- 中医病证诊断疗效标准
- 海姆立克评分标准
- 变形记作文六年级变成小鸟
- 骨关节系统影像诊断
- RB/T 040-2020病原微生物实验室生物安全风险管理指南
- GB/T 706-2016热轧型钢
- GB/T 11021-2007电气绝缘耐热性分级
- 液化气站送气工安全职责
- 华中8型数控系统设备连接与参数配置
- 07FD02防空地下室电气设备安装图集
评论
0/150
提交评论