数据库课程设计仓库管理系统分析Word文件下载.docx
- 文档编号:1028183
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:35
- 大小:511.50KB
数据库课程设计仓库管理系统分析Word文件下载.docx
《数据库课程设计仓库管理系统分析Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计仓库管理系统分析Word文件下载.docx(35页珍藏版)》请在冰点文库上搜索。
— 开发与应用:
本系统主要采用MyEclipse和SQLSERVER2005编程开发应用于PC机。
二 程序结构图:
三 实体ER图:
四 部分建表和程序:
1.1系统中所用到的部分基本信息表及用途
表名 用途
dbo.tb_gysinfo 供应商信息表
tb_spinfo 商品信息表
dbo.tb_khinfo 客户信息表
dbo.tb_kucun 库存信息表用于库存盘点
tb_userlist 操作员信息表用于登录程序
。
。
1.2系统中所用到的部分类及用途类名 用途
JXCFrame.java 系统主程序,程序的开始位置
Dao.java 用于连接数据库和信息获取
Login.java 系统登录界面
KuCunPanDian.java 库存盘点
RuKuChaXun.java 入口查询
1.3系统中所用到的主要方法及用途
方法名 用途
createFrameButton 为内部窗体添加Action的方法
Dao 连接数据库和获取信息
Login() 设计系统登录界面
GysXiuGaiPanel() 供应商信息添加
GysTianJiaPanel() 供应商信息修改与删除
2.1.1 供应商信息表(dbo.tb_gysinfo)
2.1.2商品信息表(Dao.java)
2.1.3库存信息表用于库存盘点(dbo.tb_kucun)
2.2.1 系统主程序(JXCFrame.java)部分代码
publicJXCFrame(){
frame=newJFrame("
小型仓库管理系统"
);
//获取对象frame
frame.getContentPane().setBackground(new Color(170, 188,
120));
//对 对象frame的容器设置背景颜色frame.addComponentListener(newFrameListener());
frame.getContentPane().setLayout(newBorderLayout());
//对 对象frame的容器设置?
?
frame.setBounds(100,100,753,600);
//对 对象frame的窗体设置出现的位置和大小
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//对 对象frame的窗体设置关闭方式
backLabel=newJLabel();
backLabel.setVerticalAlignment(SwingConstants.TOP);
//标签内容垂直方向的对齐方式
backLabel.setHorizontalAlignment(SwingConstants.CENTER);
//标签内容水平方向的对齐方式
updateBackImage();
//更新或初始化背景图片
desktopPane=newJDesktopPane();
desktopPane.add(backLabel,newInteger(Integer.MIN_VALUE));
frame.getContentPane().add(desktopPane);
JTabbedPanenavigationPanel=createNavigationPanel();
//创建导航标签面板
frame.getContentPane().add(navigationPanel,BorderLayout.NORTH);
frame.setVisible(true);
}
2.2.2 连接数据库(Dao)部分代码
publicclassDao{
protected static String dbClassName ="
com.microsoft.sqlserver.jdbc.SQLServerDriver"
;
protected static String dbUrl ="
jdbc:
sqlserver:
//localhost:
1433;
"
+"
DatabaseName=db_JXC;
SelectMethod=Cursor"
protectedstaticStringdbUser="
sa"
protectedstaticStringdbPwd="
protectedstaticStringsecond=null;
publicstaticConnectionconn=null;
static{
try{
if(conn==null){Class.forName(dbClassName).newInstance();
conn = DriverManager.getConnection(dbUrl, dbUser,
dbPwd);
}catch(Exceptionee){ee.printStackTrace();
privateDao(){
//读取所有客户信息
publicstaticListgetKhInfos(){
Listlist=findForList("
selectid,khnamefromtb_khinfo"
returnlist;
2.2.3 设计系统登录界面(Login())部分代码
publicLogin(){
setTitle("
//窗体名
finalJPanelpanel=newLoginPanel();
//定义一个LoginPanel函数规定的面板
panel.setLayout(null);
//设置面板为绝对布局getContentPane().add(panel);
//向窗体添加面板setBounds(300, 200, panel.getWidth(), panel.getHeight());
//设置窗体位置,大小来于LoginPanel函数传递
userLabel=newJLabel();
//用于提示用户输入的标签userLabel
userLabel.setText("
用户名:
//对其命名
userLabel.setBounds(100,115,200,18);
//"
的位置和大小
panel.add(userLabel);
//向?
中添加userLabel标签
finalJTextFielduserName=newJTextField();
//申请文本栏userNameuserName.setBounds(150,115,200,18);
//文本栏userName的位置和大小
panel.add(userName);
//向?
中添加userName文本栏
passLabel=newJLabel();
passLabel.setText("
密 码:
passLabel.setBounds(100,150,200,18);
panel.add(passLabel);
finalJPasswordFielduserPassword=newJPasswordField();
userPassword.addKeyListener(newKeyAdapter(){
publicvoidkeyPressed(finalKeyEvente){
if(e.getKeyCode()==10)login.doClick();
}});
2.3.1 为内部窗体添加Action的方法(createFrameButton)部分代码
privateJButtoncreateFrameButton(StringfName,Stringcname){
//为内部窗体添加Action的方法
StringimgUrl="
res/ActionIcon/"
+fName+"
.png"
//查找图片1
StringimgUrl_roll="
_roll.png"
//查找图片1
StringimgUrl_down="
_down.png"
Iconicon=newImageIcon(imgUrl);
Iconicon_roll=null;
if(imgUrl_roll!
=null)
icon_roll=newImageIcon(imgUrl_roll);
Iconicon_down=null;
if(imgUrl_down!
icon_down=newImageIcon(imgUrl_down);
Actionaction=newopenFrameAction(fName,cname,icon);
JButtonbutton=newJButton(action);
button.setMargin(newInsets(0,0,0,0));
button.setHideActionText(true);
button.setFocusPainted(false);
button.setBorderPainted(false);
button.setContentAreaFilled(false);
if(icon_roll!
=null)button.setRolloverIcon(icon_roll);
if(icon_down!
=null)button.setPressedIcon(icon_down);
returnbutton;
结果与分析(可以加页):
本小型仓库管理系统辅助管理仓库,对小型仓库的信息资源(商品、客户和供应商)、仓库物质动态(出库和进库)和基本的日常信息(仓库盘点和操作记录等)记录、管理和查询功能,提高了工作效率,完善了业务管理,为业主及客人提供了更快捷服务。
本系统具有以下特点:
1.整个系统数据库连接,可以进行数据备份、还原等操作。
2.整个系统采用权限分级制度,更为有效的保护数据安全。
3.本系统提供密码登录,未授予登录名和密码的用户无法登录。
4.系统数据库中的表满足BCNF,冗余度低,效率高。
5.一般用户有查询、插入、更新、删除的权力,而管理员不仅拥有这些权力,还有添加删除用户、密码维护等权力。
6.利用数据库可以一次性添加大量数据,且方便对数据进行复制修改。
本系统存在以下问题:
1.本小型仓库管理系统功能较为单一。
2.界面交互处理的不够友好。
3.本系统并为指定什么类型出库,所以数据、实体的属性处理的不够好。
系统运行截图:
1.系统登录:
2.基础信息管理:
3.出入库管理:
4.查询统计:
5.系统管理:
设计体会与建议:
管帅:
通过这次课程设计使我了解到我有很多的不足,在程序调试的时候常常会因为几个错误而弄得心烦,这说明我对知识的掌握还不够牢,在程序设计的过程中也暴露出了我的诸多弊端,借这次课程设计的机会我会认真的加以改正,多多看书多去图书馆学习,同时应该增强自己的实践能力,为以后的学习打下坚实的基础。
张绍壮:
在这次的设计过程中,我学到的不仅是知识,还有合作的可贵。
由于这次设计涉及到数据库,我学到了不少编程工具与数据库连接的知识,对数据库的操作有了进一步的了解。
这次设计对我的综合能力是一次很好的锻炼,但是我必须承认自己的能力和知识水平还不够,今后我的学习道路还是很漫长的。
附录:
部分源代码
(1)主程序
packagecom.lzw;
importjava.awt.BorderLayout;
importjava.awt.Color;
importjava.awt.Image;
importjava.awt.Insets;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ComponentAdapter;
importjava.awt.event.ComponentEvent;
importjava.beans.PropertyVetoException;
importjava.lang.reflect.Constructor;
import.URL;
importjava.util.HashMap;
importjava.util.Map;
importjavax.swing.AbstractAction;
importjavax.swing.Action;
importjavax.swing.BoxLayout;
importjavax.swing.Icon;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JDesktopPane;
importjavax.swing.JFrame;
importjavax.swing.JInternalFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JTabbedPane;
importjavax.swing.SwingConstants;
importjavax.swing.SwingUtilities;
importjavax.swing.UIManager;
importjavax.swing.border.BevelBorder;
importjavax.swing.event.InternalFrameAdapter;
importjavax.swing.event.InternalFrameEvent;
importcom.lzw.login.Login;
publicclassJXCFrame{
privateJPanelsysManagePanel;
privateJDesktopPanedesktopPane;
privateJFrameframe;
privateJLabelbackLabel;
privateMap<
String,JInternalFrame>
ifs=newHashMap<
();
//创建窗体的Map类型集合对象
//获取对象frameframe.getContentPane().setBackground(newColor(170,188,120));
//对 对象frame的容器设置背景颜色frame.addComponentListener(newFrameListener());
//对 对象frame的容器设置?
/对 对象frame的窗体设置出现的位置和大小
//对 对象frame的窗体设置关闭方式
backLabel.setVerticalAlignment(SwingConstants.TOP);
//更新或初始化背景图片
desktopPane.add(backLabel,newInteger(Integer.MIN_VALUE));
frame.setVisible(true);
publicstaticvoidmain(String[]args){ //主方法SwingUtilities.invokeLater(newRunnable(){
publicvoidrun(){
newLogin();
//调用登录界面
});
privateJTabbedPanecreateNavigationPanel(){//创建导航标签面板的方法JTabbedPanetabbedPane=newJTabbedPane();
tabbedPane.setFocusable(false);
tabbedPane.setBackground(newColor(211,230,192));
tabbedPane.setBorder(newBevelBorder(BevelBorder.RAISED));
JPanelbaseManagePanel=newJPanel();
//基础信息管理面板
baseManagePanel.setBackground(newColor(215,223,194));
baseManagePanel.setLayout(newBoxLayout(baseManagePanel,BoxLayout.X_AXIS));
baseManagePanel.add(createFrameButton("
客户信息管理"
"
KeHuGuanLi"
));
商品信息管理"
ShangPinGuanLi"
供应商信息管理"
GysGuanLi"
JPanelsearchStatisticPanel=newJPanel();
//查询统计面板searchStatisticPanel.setBounds(0,0,600,41);
searchStatisticPanel.setName("
searchStatisticPanel"
searchStatisticPanel.setBackground(newColor(215,223,194));
searchStatisticPanel.setLayout(new
BoxLayout(searchStatisticPanel,BoxLayout.X_AXIS));
searchStatisticPanel.add(createFrameButton("
客户信息查询"
KeHuChaXun"
商品信息查询"
ShangPinChaXun"
供应商信息查询"
"
GongYingShangChaXun"
出库查询"
XiaoShouChaXun"
入库查询"
RuKuChaXun"
库存盘点"
KuCunPanDian"
JPanelstockManagePanel=newJPanel();
//商品出入库stockManagePanel.setBackground(newColor(215,223,194));
stockManagePanel.setLayout(new
BoxLayout(stockManagePanel,BoxLayout.X_AXIS));
stockManagePanel.add(createFrameButton("
入库单"
JinHuoDan"
stockManagePanel.add(createFrameButto
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 仓库 管理 系统分析