java数据库销售管理系统实验报告完整版附代码.docx

上传人:b****8 文档编号:30489660 上传时间:2023-08-15 格式:DOCX 页数:132 大小:685.34KB
下载 相关 举报
java数据库销售管理系统实验报告完整版附代码.docx_第1页
第1页 / 共132页
java数据库销售管理系统实验报告完整版附代码.docx_第2页
第2页 / 共132页
java数据库销售管理系统实验报告完整版附代码.docx_第3页
第3页 / 共132页
java数据库销售管理系统实验报告完整版附代码.docx_第4页
第4页 / 共132页
java数据库销售管理系统实验报告完整版附代码.docx_第5页
第5页 / 共132页
点击查看更多>>
下载资源
资源描述

java数据库销售管理系统实验报告完整版附代码.docx

《java数据库销售管理系统实验报告完整版附代码.docx》由会员分享,可在线阅读,更多相关《java数据库销售管理系统实验报告完整版附代码.docx(132页珍藏版)》请在冰豆网上搜索。

java数据库销售管理系统实验报告完整版附代码.docx

java数据库销售管理系统实验报告完整版附代码

java数据库销售管理系统实验报告完整版(附代码)

大连海事大学本科生实验报告

 

数据库原理-操作实训

 

院(系):

交通运输管理学院

专业:

电子商务

课程名称:

数据库原理

学号:

2220113494

学生:

周慧敏

任课教师:

贺琳

 

完成日期:

2013年12月

安全,两者结合可相互利用各自的优势。

该系统实现的大致功能:

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("角色:

");

JComboBoxcbrole=newJComboBox();

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);

btnu.addActionListener(this);

btnClose.addActionListener(this);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

show();

}

publicvoidactionPerformed(ActionEvente){

if(e.getActionCommand()=="客户信息管理")

newCustomerManager("客户信息管理").display();

if(e.getActionCommand()=="产品信息管理"){

newProductManager("产品信息管理").display();

}

if(e.getActionCommand()=="订单信息管理"){

newOrderManager("订单信息管理").display();

}

if(e.getActionCommand()=="发货管理"){

newsendManager("发货管理").display();

}

if(e.getActionCommand()=="签收管理"){

newRecei

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1