java数据库销售管理系统实验报告完整版.docx
- 文档编号:13690088
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:131
- 大小:578.93KB
java数据库销售管理系统实验报告完整版.docx
《java数据库销售管理系统实验报告完整版.docx》由会员分享,可在线阅读,更多相关《java数据库销售管理系统实验报告完整版.docx(131页珍藏版)》请在冰点文库上搜索。
java数据库销售管理系统实验报告完整版
java数据库销售管理系统实验报告完整版
数据库原理-操作实训
院(系):
交通运输治理学院
专业:
电子商务
课程名称:
数据库原理
学号:
2220183494
学生:
周慧敏
任课教师:
贺琳
完成日期:
2019年12月
1.实验目的
把握数据库模式设计,依据实际要求设计表结构,建立表的关系;结合一定的开发工具实现数据库应用程序的开发。
2.实验环境
2.1硬件环境:
处理器:
Intel(R)Core(TM)i3CPUM380@2.53GHz2.53GHz
安装内存:
(RAM):
2GB(1.86GB可用)
2.2软件环境
操作系统:
Windows7
数据库治理系统:
微软公司的SQLServer2005
开发工具:
Eclipse
3.需求分析
销售治理系统,可用于企业的销售信息治理,查询,更新与爱护,使用方便,易用性强,图形界面清晰明了。
该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的储备,用SQL语句完成销售信息的添加,查询,修改,删除的操作。
用ODBC驱动实现前台Java与后台SQL数据库的连接。
Java语言跨平台性强,能够在windows,linux,ubuntu等系统下使用,方便简单,安全性好。
SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。
该系统实现的大致功能:
1.用户登陆界面。
该界面能够选择使用者的身份,“系统治理员,差不多档案治理员,业务员”。
不同的身份有不同的操作界面和功能权限。
ID号和密码输入正确即可登录。
2.系统治理员界面,拥有最高权限。
提供了客户信息治理、产品信息治理、订单信息治理、发货治理与签收治理等功能。
3.差不多档案治理员界面。
提供了客户信息治理、产品信息治理等功能。
4.业务员界面。
提供了订单信息治理、发货治理与签收治理等功能。
5.登录的用户信息分不储备在SQL数据库的“unpw表”中,假如用户信息不存在那个表中,将会无权益登录本治理系统。
6.保证了本销售治理系统的安全性。
系统功能图如下:
4.概念结构设计
依照以上对系统的需求分析,系统设计,本系统使用的数据库实体分不为客户信息实体,产品信息实体,订单信息实体,发货单实体,签收单实体。
1:
客户信息实体
客户信息实体包括客户名称、单位地址、联系电话、地址、开户银行、银行账号、发票抬头、所在区域等属性。
客户信息实体的E-R图如图所示。
客户信息
客户名称
单位地址
联系电话
地址
开户银行
银行账号
发票抬头
所在区域
2:
发货单实体
发货单实体包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等属性,E-R图如图所示。
发货单
客户名称
联系人
联系电话
发货地址
地址
产品名称
型号
数量
单价
运费
总价
发货日期
3:
签收单实体
签收单实体包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期等属性,E-R图如图所示。
4:
unpw实体
unpw实体包括un、pw、qx等属性,E-R图如图所示。
5:
产品信息实体
产品信息实体要紧包括产品名称、规格、型号、操作系统、产品描述、产品分类等属性。
E-R图如图所示。
6:
订单信息实体
订单信息实体要紧包括客户名称、联系人、联系电话、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求等属性。
E-R图如图所示。
订单信息
联系人
联系电话
发货地址
最后到货期限
客户名称
产品名称
型号
数量
产品要求
实体属性表:
实体
属性
客户信息
客户名称、单位地址、联系电话、地址、开户银行、银行账号、发票抬头、所在区域
产品信息
产品名称、规格、型号、操作系统、产品描述、产品分类
订单信息
客户名称、联系人、联系电话、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求
签收单
客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期
发货单
客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期
unpw(用户)
un(登录名)、pw(密码)、qx(用户)
5.逻辑结构设计
(1)表-dbo.客户信息(客户信息表)
客户信息表包括客户名称、单位地址、联系电话、地址、开户银行、银行帐号、发票抬头、所在区域等信息。
(2)表-dbo.产品信息(产品信息表)
产品信息表包括产品名称、规格、型号、操作系统、产品描述、产品分类等信息。
(3)表-dbo.订单信息(订单信息表)
订单信息表包括客户名称、联系人、联系电话、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求等信息。
(4)表-dbo.发货单信息(发货单表)
发货单表要紧包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等信息。
(5)表-dbo.签收单信息(签收单表)
签收单表要紧包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期等信息。
(6)表-dbo.unpw(用户表)
用户表包括un、pw、qx等信息。
6.数据库实现
(1)数据库关系图
(2)SQL语句实现
数据表的创建:
(i)客户信息表创建:
createtable客户信息表(
客户名称nchar(10)notnullprimarykey,
单位地址nchar(10),
联系电话nchar(10),
地址nchar(10),
开户银行nchar(10),
银行账号nchar(10),
发票抬头nchar(10),
所在区域nchar(10),
)
(ii)产品信息表创建:
createtable产品信息表(
产品名称nchar(10)notnullprimarykey,
规格nchar(10),
型号nchar(10),
操作系统nchar(10),
产品描述nchar(10),
产品分类nchar(10),
)
(iii)订单信息表创建:
createtable订单信息表(
客户名称nchar(10)notnullprimarykey,
联系人nchar(10),
联系电话nchar(10),
发货地址nchar(10),
最后到货期限nchar(10),
产品名称nchar(10),
型号nchar(10),
数量int,
产品要求nchar(10),
)
(iv)发货单表创建:
createtable发货单表(
客户名称nchar(10)notnullprimarykey,
联系人nchar(10),
联系电话nchar(10),
发货地址nchar(10),
地址nchar(10),
产品名称nchar(10),
型号nchar(10),
数量int,
单价int,
运费int,
总价int,
发货日期nchar(10),
)
(v)收货单表创建:
createtable收货单表(
客户名称nchar(10)notnullprimarykey,
联系人nchar(10),
联系电话nchar(10),
发货地址nchar(10),
地址nchar(10),
产品名称nchar(10),
型号nchar(10),
数量int,
单价int,
运费int,
总价int,
收货日期nchar(10),
)
(vi)治理员信息表创建:
createtableunpw表(
qxintnotnullprimarykey,
unvarchar(12)notnull,
pwvarchar(12)notnull
)
7.应用系统设计实现
(1)用户登录模块
(2)各用户操作模块
(i)系统治理员操作模块
(ii)差不多档案治理员操作模块
(iii)业务员操作模块
(3)系统治理员登录
在登陆界面选择“系统治理员”角色,输入正确的ID和密码。
验证成功则可进入系统治理员治理界面。
系统治理员ID号和登录密码存在数据库中的治理员信息表。
表中存在的治理员才承诺登录。
(i)点击客户信息治理,弹出如下界面:
(ii)点击显示按钮后,会显现数据库里储存的客户信息:
(iii)点击增加按钮,弹出如下界面,输入要增加的客户信息,成功后会弹出增加成功的提示窗口:
(iv)增加客户信息成功后客户信息治理界面会增加一行客户信息,如图所示:
(v)选中一条客户信息,点击删除按钮,成功后会显现删除成功的提示窗口:
(vi)成功删除Tom客户的信息后,客户信息治理界面变化如下:
(vii)选中一行客户信息,点击修改按钮,显现如下界面,输入要修改的信息,成功后弹出修改成功的提示窗口:
(此处修改了客户Tom的联系电话)
(viii)点击查询按钮,弹出如下窗口:
在文本框中输入“Hei“,即可查询所在区域为”Hei“的客户信息:
其他模块与客户信息治理模块类似,均能实现信息的查询、修改、删除、增加、显示等功能,在此不再赘述;点击退出系统即可完成本次操作。
通过系统一系列的增删改查操作之后,sqlsever2005数据库上的客户信息表同时也发生了改变:
8.实验总结(实验心得)
本次操作实训尽管专门辛劳,但实在是受益匪浅。
在操作实训过程中碰到了专门多咨询题,刚开始的时候,还真不明白从哪里下手。
但最终在图书、同学和老师的关心下都得到了解决,让我学会了好多书本上没有的东西,通过本次操作实训我也能将课本上的知识融会贯穿,起到了专门好的辅助学习的成效,然而我发觉我学到的知识比整整一个学期学到的都多。
理论和实践的相结合是学习最有效的方法。
在实验的过程中发觉了自己的不足之处,对往常所学过的知识明白得得不够深刻,把握得不够牢固,这次操作实训之后,一定把往常所学过的知识重新温故。
通过这次操作实训使我明白得了理论与实际相结合是专门重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立摸索的能力。
附录:
代码
Control.java
packagezhm;
publicclassControl{
publicstaticvoidmain(String[]args){
newDLFrame();
}
}
DLFrame.java
packagezhm;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassDLFrameextendsJFrameimplementsActionListener,ItemListener{//登录界面
privatestaticfinallongserialVersionUID=1L;
JPanelp1=null;
JPanelp2=null;
JPanelp3=null;
JLabeluserName=newJLabel("用户:
");
JTextFieldtxtUser=newJTextField();
JLabelpassword=newJLabel("密码:
");
JPasswordFieldtxtPwd=newJPasswordField(6);
JLabelrole=newJLabel("角色:
");
JComboBox
JButtonbtnLogin=newJButton("登录");
JButtonbtncz=newJButton("重置");
JButtonbtnCancel=newJButton("取消");
JLabelimageLabel;
Iconimage;
staticintOK=1;
staticintCANCEL=0;
intactionCode=0;
Connectioncon=null;
Statementstmt=null;
ResultSetrs=null;
intqxian=0;
@SuppressWarnings("deprecation")
publicDLFrame(){//构造方法
super("登录界面");
p1=newJPanel();
p2=newJPanel();
p3=newJPanel();
cbrole.addItem("系统治理员");
cbrole.addItem("差不多档案治理员");
cbrole.addItem("业务员");
/*image=newImageIcon("picture\\st.jpg");
imageLabel=newJLabel(image);
p1.add(imageLabel);*/
this.setLayout(newFlowLayout());
this.setBounds(150,150,250,250);
p2.setLayout(newGridLayout(4,2));
p2.add(userName);
p2.add(txtUser);
p2.add(password);
p2.add(txtPwd);
p2.add(role);
p2.add(cbrole);
p3.add(btnLogin);
p3.add(btncz);
p3.add(btnCancel);
this.add(p1);
this.add(p2);
this.add(p3);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.show();
btnLogin.addActionListener(this);
cbrole.addItemListener(this);
btncz.addActionListener(this);
btnCancel.addActionListener(this);
}
publicvoidconnDB(){//连接数据库
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
try{
con=DriverManager.getConnection(
"jdbc:
sqlserver:
//localhost:
1433;DatabaseName=销售治理系统",
"sa","2191826");
stmt=con.createStatement();
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicvoidcloseDB()//关闭连接
{
try{
stmt.close();
con.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicvoiditemStateChanged(ItemEvente){
if(e.getStateChange()==ItemEvent.SELECTED){
JComboBox
>jcb=(JComboBox
>)e.getSource();
qxian=jcb.getSelectedIndex();
}
}
@SuppressWarnings("deprecation")
publicvoidactionPerformed(ActionEvente){
Objectsource=e.getSource();
Stringun=null;
Stringpw=null;
booleansuccess=false;//用于判定是否登录成功
if(source==btnLogin){
if(txtUser.getText().equals("")||txtPwd.getPassword().equals("")){//判定是否输入了用户名和密码
JOptionPane.showMessageDialog(null,"登录名和密码不能为空!
");
}else{
this.connDB();
try{
rs=stmt.executeQuery("select*fromunpwwhereqx="+qxian);
while(rs.next()){
un=rs.getString("un").trim();
pw=rs.getString("pw").trim();
if(txtUser.getText().equals(un)){
if(txtPwd.getText().equals(pw)){
actionCode=OK;
this.setVisible(false);
if(qxian==0){
newsysManagerFrame();//进入系统治理员界面
}
if(qxian==1){
newbaseManagerFrame();//进入差不多档案治理员界面
}
if(qxian==2){
newbusinessManFrame();//进入业务员界面
}
success=true;
break;
}else{
JOptionPane.showMessageDialog(null,"密码错误!
");
txtPwd.setText("");
success=true;
}
}
}
if(!
success){
JOptionPane.showMessageDialog(null,"登录名错误!
");
txtUser.setText("");
txtPwd.setText("");
}
}catch(SQLExceptione1){
e1.printStackTrace();
}
}
}elseif(source==btncz){
txtUser.setText("");
txtPwd.setText("");
}elseif(source==btnCancel){
System.exit(0);
}
}
}
sysManagerFrame.java
packagezhm;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
publicclasssysManagerFrameextendsJFrameimplementsActionListener{//系统治理员界面
privatestaticfinallongserialVersionUID=1L;
JPanelp1=newJPanel();
JPanelp2=newJPanel();
JButtonbtns=newJButton("客户信息治理");
JButtonbtnc=newJButton("产品信息治理");
JButtonbtnsc=newJButton("订单信息治理");
JButtonbtng=newJButton("发货治理");
JButtonbtnu=newJButton("签收治理");
JButtonbtnClose=newJButton("退出治理系统");
JLabell=newJLabel("系统治理员");
@SuppressWarnings("deprecation")
sysManagerFrame(){//构造方法
super("销售治理系统");
setSize(205,300);
add("North",p1);
add("Center",p2);
p1.add(l);
p2.add(btns);
p2.add(btnc);
p2.add(btnsc);
p2.add(btng);
p2.add(btnu);
p2.add(btnClose);
btns.addActionListener(this);
btnc.addActionListener(this);
btnsc.addActionListener(this);
btng.addActionListener(this)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 数据库 销售 管理 系统 实验 报告 完整版