商场货物管理系统.docx
- 文档编号:12371832
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:79
- 大小:136.90KB
商场货物管理系统.docx
《商场货物管理系统.docx》由会员分享,可在线阅读,更多相关《商场货物管理系统.docx(79页珍藏版)》请在冰豆网上搜索。
商场货物管理系统
数据库课程实训报告
题目:
商场货物管理系统
专业
学生姓名
班级
学号
指导教师
完成日期
商场货物管理系统
1课题内容和要求
1.1课题描述
早期的商场货物管理已不能满足现在有销售的发展,这样就迫切的需要引入新的技术。
由于掌握的物资种类众多,订货、管理、发货的渠道各有差异,各类统计报表繁多。
因此一个现代化的商场需要一个现代的管理系统来保证产品的精细化管理,保证最大化利用资源。
本系统用于商场的货物管理,仓库管理。
包含商场的进货,销售,库存的核心,能够为商场工作者提供充足的信息和快捷的查询手段。
1.2课题要求
1)商场货物可存放在多个仓库
2)可以增加、删除、修改仓库信息
3)可以对仓库货物信息进行增加、删除、修改
4)可以按仓库、货物类别列出货物清单
5)可以按照仓库名称、货物类别、货物名称、编码查询货物信息
2需求分析
2.1功能需求分析
货物管理实现功能包括
货物信息的添加:
添加一种或多种货物,能输出货物信息。
货物信息的删除:
修改货物信息,包括商品编号、名称、种类、数量
单价等。
货物信息的修改:
删除一类或多类货物的所有信息。
货物信息的查询:
可以按仓库、货物类别列出货物清单;按仓库名称、货物类别、货物名称、
2.2数据需求分析
1.数据字典:
图2.2.1仓库数据字典
属性
类型
长度
仓库的编号
intidentity
10
仓库的描述
varchar
30
仓库的名称
varchar
10
图2.2.2货物数据字典
属性
类型
长度
货物的代码
intidentity
10
货物的种类
varchar
20
货物的名称
varchar
10
货物的价格
float
5
2.数据流图:
3系统设计
3.1功能模块设计
图3-1功能模块图
3.2数据库概念设计
图3.2.1货物实体E—R图
图3.3.2仓库实体E-R图
图3-4总体E-R图
3.3数据库逻辑设计
货物(货物编号、货物种类、货物名称、货物价格)
仓库(仓库编号、仓库名称、仓库描述)
3.4数据库物理设计
/*管理员表创建*/
USE[db_mwms]
GO
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo].[管理员表](
[用户][nvarchar](50)NULL,
[密码][varchar](50)NULL
)ON[PRIMARY]
GO
SETANSI_PADDINGOFF
GO
/*货物信息表创建*/
createtabletb_cargo(
cg_idintidentity(1,1)primarykeynotnull,
cg_categoryvarchar(20)notnull,
cg_namevarchar(10)notnull,
cg_pricefloatnotnull,
wh_idintnotnull,
foreignkey(wh_id)referencestb_warehouse(wh_id))
/*仓库信息表创建*/
createtabletb_warehouse(
wh_idintidentity(1,1)primarykeynotnull,
wh_namevarchar(20)notnull,
wh_descvarchar(30)
)
3.5数据库表间联系
4系统实现
4.1系统登录模块实现
用户用账户和密码登录商场货物管理系统然后对仓库和货物进行操作。
4.2系统查询模块实现
可以根据货物编号、货物种类、货物名称、货物价格等进行查询。
但是如果设置的货物不多那么可以自行添加,删除,修改货物的信息,货物有限。
4.3系统显示模块实现
系统可以根据用户不同的操作显示不同的界面,每个操作都会通过系统界面反映给用户看,用户根据所反映的信息来继续下一步的操作。
5代码调试与功能测试
5.1测试方案
商场管理系统界面中可以添加货物、删除货物、修改货物、查询、刷新货物。
然后通过界面反映给用户自己。
5.2测试结果
5.2.1登录系统
用户输入账号密码登录然后进行添加,删除,查询,修改,显示等操作。
5.2.2主窗口模块
通过登录进入系统界面上面有一系列的功能按钮,用户可以根据自己的需求来输入信息进行操作最后只要按下按钮就可以了。
5.2.3添加货物实现
货物管理系统界面,点击“添加货物”,弹出添加货物界面,添加完成之后点击“确认”按钮,在商场货物系统界面即可显示添加信息,完成添加。
5.2.4修改货物实现
在货物管理界面,点击“修改货物”,弹出修改货物界面,修改完成之后点击“确认”按钮,在商场货物系统界面即可显示修改信息,完成修改。
5.2.5删除货物实现
在货物管理界面,点击“删除货物”,弹出修改货物界面,修改完成之后点击“确认”按钮,在商场货物系统界面即可显示修改信息,完成修改。
5.2.6货物名称查询实现
在货物管理界面,在“货物名称”输入货物名称,系统将筛出的信息通过界面显示给用户。
6收获与体会
通过完成这次课程设计我学会了如何去独立思考,收集资料,通过程序的要求分析如何更好的满足这些功能的实现将是我大学中或者以后也是一直坚持不懈需要突破的每次做课程设计都会从中学到许多,因为一个学期的理论课都是理论只有通过实践才会发现理论那些抽象的或者是不足的地方通过实践可以发现自己的不足学海无涯,一门技术也要我们通过实践的努力来不断提高完善,这次老师的任务我个人觉得完成的还不够好时间还是有点赶可能是因为中间有两次期末考试的缘故以后为了更好的体验课程设计带来的乐趣期末复习应该要乘早,最后感谢老师一个学期的讲授虽然不一定全都学到位但是我觉得还是可以通过实践来弥补一些课上所没有听到的内容。
这次系统的添加,删除,修改,查询都是大家一起讨论的结果。
再次感谢老师。
参考文献
[1]钱雪忠,王燕玲,林挺.数据库原理及技术[M].北京:
清华大学出版社,2011.
[2]钱雪忠,罗海驰,陈国俊.数据库原理及技术课程设计[M].北京:
清华大学出版社,2014.
[3]王珊,萨师煊.数据库系统概论(第4版)干等教育出版社,2011.
附 录
附录1源程序部分清单
附录1.1登陆代码
packagecom.launch;
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjavax.swing.*;
importcom.ui.MainFrame;
importcom.util.DBUtil;
/**
*程序启动
*@authorJINGLORY
*
*/
publicclassStartApp{
/**
*程序入口方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
JFramejFrame=newJFrame("商场货物管理系统");
Dimensiondimension=Toolkit.getDefaultToolkit().getScreenSize();
jFrame.setBounds(((int)dimension.getWidth()-500)/2,((int)dimension.getHeight()-400)/2,400,250);
jFrame.setResizable(false);
jFrame.setLayout(null);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabellabel1=newJLabel("帐号:
");
label1.setBounds(50,40,100,50);
jFrame.add(label1);
JLabellabel2=newJLabel("密码:
");
label2.setBounds(50,90,100,50);
jFrame.add(label2);
finalJTextFieldname=newJTextField();
name.setBounds(100,50,200,30);
jFrame.add(name);
finalJPasswordFieldpassword=newJPasswordField();
password.setBounds(100,100,200,30);
jFrame.add(password);
JButtonbutton=newJButton("登录");
button.setBounds(105,165,150,40);
button.addActionListener(newActionListener(){
@SuppressWarnings("deprecation")
publicvoidactionPerformed(ActionEvente1){
Connectionconn=null;
Statementps=null;
ResultSetrs=null;
try{
conn=DBUtil.getConn();
ps=conn.createStatement();
rs=ps.executeQuery("select*from管理员表where用户="+"'"+name.getText()+"'and密码="+"'"+String.valueOf(password.getPassword())+"'");
if(rs.next()){
JOptionPane.showMessageDialog(null,"登陆成功");
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
UIManager.setLookAndFeel("com.jtattoo.plaf.mcwin.McWinLookAndFeel");
MainFrameframe=newMainFrame();
frame.setVisible(true);
}catch(Exceptione){
e.printStackTrace();
}
}
});
}
else{
JOptionPane.showMessageDialog(null,"用户名或密码错误!
!
");
}
}
catch(Exceptione)
{
e.printStackTrace();
}
finally{
try{
DBUtil.CloseConn(conn,ps);
}catch(Exceptione2){
e2.printStackTrace();
}
}
}});
jFrame.add(button);
jFrame.setVisible(true);
}
}
附录1.2货物数据访问代码
packagecom.dao;
importjava.sql.Connection;
importjava.sql.ResultSet;
importjava.sql.Statement;
importjava.util.ArrayList;
importcom.bean.Cargo;
importcom.util.DBUtil;
/**
*货物数据访问
*
*/
publicclassCargoDao{
/**
*增加货物
*@paramcargo
*@return
*/
publicintaddCargo(Cargocargo){
introw=0;
Connectionconn=null;
Statementstat=null;
try{
conn=DBUtil.getConn();
stat=conn.createStatement();
Stringsql="insertintotb_cargo(cg_category,cg_name,cg_price,wh_id)values('"+cargo.getCg_category()+"','"+cargo.getCg_name()+"',"+cargo.getCg_price()+","+cargo.getWh_id()+")";
row=stat.executeUpdate(sql);
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
DBUtil.CloseConn(conn,stat);
}catch(Exceptione2){
e2.printStackTrace();
}
}
returnrow;
}
/**
*删除指定ID货物
*@paramcargo
*@return
*/
publicintdelCargoFromId(intcargo_id){
introw=0;
Connectionconn=null;
Statementstat=null;
try{
conn=DBUtil.getConn();
stat=conn.createStatement();
Stringsql="deletefromtb_cargowherecg_id="+cargo_id;
row=stat.executeUpdate(sql);
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
DBUtil.CloseConn(conn,stat);
}catch(Exceptione2){
e2.printStackTrace();
}
}
returnrow;
}
/**
*删除指定仓库下所有货物
*@paramwh_id
*@return
*/
publicintdelCargoFromWh(intwh_id){
introw=0;
Connectionconn=null;
Statementstat=null;
try{
conn=DBUtil.getConn();
stat=conn.createStatement();
Stringsql="deletefromtb_cagrowherewh_id="+wh_id;
row=stat.executeUpdate(sql);
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
DBUtil.CloseConn(conn,stat);
}catch(Exceptione2){
e2.printStackTrace();
}
}
returnrow;
}
/**
*修改指定ID货物
*@paramcg_id
*@paramcargo
*@return
*/
publicintModifyCargoFromId(intcg_id,Cargocargo){
introw=0;
Connectionconn=null;
Statementstat=null;
try{
conn=DBUtil.getConn();
stat=conn.createStatement();
Stringsql="updatetb_cagrosetcg_category='"+cargo.getCg_category()+"',cg_name='"+cargo.getCg_name()+"',cg_price="+cargo.getCg_price()+",wh_id="+cargo.getWh_id()+"wherecg_id="+cg_id;
row=stat.executeUpdate(sql);
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
DBUtil.CloseConn(conn,stat);
}catch(Exceptione2){
e2.printStackTrace();
}
}
returnrow;
}
/**
*查询指定ID货物
*@paramag_id
*@return
*/
publicCargoselectCargoId(intcg_id){
Cargocargo=null;
Connectionconn=null;
Statementstat=null;
ResultSetrs=null;
try{
conn=DBUtil.getConn();
stat=conn.createStatement();
Stringsql="select*fromtb_cargowherecg_id="+cg_id;
rs=stat.executeQuery(sql);
if(rs.next()){
Stringcg_category=rs.getString
(2);
Stringcg_name=rs.getString(3);
floatcg_price=rs.getFloat(4);
intwh_id=rs.getInt(5);
cargo=newCargo(cg_id,cg_category,cg_name,cg_price,wh_id);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
DBUtil.CloseConn(conn,stat,rs);
}catch(Exceptione2){
e2.printStackTrace();
}
}
returncargo;
}
/**
*查询指定名称的所有货物
*@paramcg_name
*@return
*/
publicArrayList
ArrayList
Connectionconn=null;
Statementstat=null;
ResultSetrs=null;
try{
conn=DBUtil.getConn();
stat=conn.createStatement();
Stringsql="select*fromtb_cargowherecg_name='"+cg_name+"'";
rs=stat.executeQuery(sql);
if(rs.next()){
intcg_id=rs.getInt
(1);
Stringcg_category=rs.getString
(2);
floatcg_price=rs.getFloat(4);
intwh_id=rs.getInt(5);
Cargocargo=newCargo(cg_id,cg_category,cg_name,cg_price,wh_id);
list.add(cargo);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
DBUtil.CloseConn(conn,stat,rs);
}catch(Exceptione2){
e2.printStackTrace();
}
}
returnlist;
}
/**
*查询指定类别的所有货物
*@paramcg_name
*@return
*/
publicArrayList
ArrayList
Connectionconn=null;
Statementstat=null;
ResultSetrs=null;
try{
conn=DBUtil.getConn();
stat=conn.createStatement();
Stringsql="select*fromtb_cargowherecg_category='"+cg_category+"'";
rs=stat.executeQuery(sql);
if(rs.next()){
intcg_id=rs.getInt
(1);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 商场 货物 管理 系统