JAVA课程设计企业销售管理系统.docx
《JAVA课程设计企业销售管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计企业销售管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
![JAVA课程设计企业销售管理系统.docx](https://file1.bdocx.com/fileroot1/2022-10/28/c9ff488d-6ed0-4539-87ee-082e0a001209/c9ff488d-6ed0-4539-87ee-082e0a0012091.gif)
JAVA课程设计企业销售管理系统
序号:
10
学号:
11416230
常州大学
课程设计
课程名称:
《面向对象程序设计(JAVA)》
题目:
企业销售管理系统
姓名:
`````````
学院:
信息科学与工程学院专业班级:
```````
指导教师:
``````
设计时间:
2012年12月24日2013年1月11日
1.任务书
a)系统功能分析········································03
b)系统组成············································03
2.正文
a)系统分析
i.功能模块·········································04
ii.功能流程图·······································06
b)数据库设计··········································07
c)系统详细设计
i.连接数据库·······································08
ii.主界面···········································08
iii.修改、添加、删除模块·····························10
iv.查询、打印、登录模块·····························14
3.系统使用说明···········································21
4.日记···················································22
5.心得体会···············································22
6.参考文献···············································23
7.致谢···················································23
一、任务书
(一)、系统功能分析
本系统用于对企业销售进行管理,涉及员工基本信息表、商品信息表和员工销售信息表,主要功能包括:
●数据表记录的添加、删除、修改和浏览。
●对员工基本情况、商品和销售相关信息的查询。
●报表打印输出。
●系统退出。
(二)、系统组成
根据系统的功能分析,给出系统的参考解决方案。
整个系统功能通过菜单实现,包括数据库、表单、菜单、报表和主程序等几个部分,具体为:
后台数据库
销售管理数据库:
1.员工基本信息表(员工编号,员工名,年龄,性别,部门,职务)。
2.商品信息表(商品编号,商品名称,商品单价)。
3.员工销售信息表(员工编号,商品编号,商品数目,应付金额,顾客付款,找回金额)。
二、正文
(1)系统分析:
企业销售管理系统主要实现的功能为:
与数据库连接,实行对员工基本信息表、商品信息表、员工销售信息表的查询、修改、添加、删除等功能的实现。
以及对3张表的信息进行输出打印,打印保存成XLS格式。
功能模块如下:
查询功能:
添加功能:
修改功能:
删除功能:
程序结构流程图:
(2)数据库设计:
按照规范设计的方法,考虑数据库及其管理系统开发的全过程,将数据库设计分为以下六个阶段:
·需求分析
·概念结构设计
·逻辑结构设计
·物理结构设计
·数据库实施
·数据库运行和维护
基本要求
在mysql软件基础上,利用应用系统开发为企业销售管理设计数据库和建立相应的数据库。
创建4个表格,分别为sellInfo,staffInfo,goodsInfo,以及登录所需的password表格。
信息要求,处理要求,安全性和完整性要求,数据流图,数据字典,数据项之间应有的联系必须表示出来,用数据依赖表示即可逻辑结构设计必须:
说明各个关系模式所属的范式,如果不是BC或3NF范式,
(3)系统的详细设计:
一、连接数据库:
importjava.sql.*;
publicclassConnection1{
Connectionconnect;
privateStringdbDriver="com.mysql.jdbc.Driver";//加载数据库驱动
privateStringurl="jdbc:
mysql:
//localhost:
3306/sell?
true&characterEncoding=utf-8";//地址
/**CreatesanewinstanceofconnectJdbc*/
publicConnectiongetConnection(){
try{
Class.forName(dbDriver).newInstance();
connect=DriverManager.getConnection(url,"root","123456");
}catch(Exceptionex){
System.out.println("数据库加载失败");
}
returnconnect;
}
二、主界面:
View.java
首先在主界面的panel里显示数据库中的数据,以商品信息表为例。
JTabletable;
JScrollPanejscrollpane;//申明滚动面板变量
TableModelmyTable=newDefaultTableModel();
Connection1db=newConnection1();
Connectioncon=db.getConnection();//连接到数据库
Statementps;
try{
ps=con.createStatement();
ResultSetrs;
rs=ps.executeQuery("select*fromgoodsInfo");//在sell表格中执行查询
ResultSetMetaDatametaData;
metaData=rs.getMetaData();//得到数据库元数据
intnumber=metaData.getColumnCount();//得到数据库中表的列的个数
VectorcolumnNames=newVector();//调用Vector类,生成可自动增长的数组对象列
Vectorrows=newVector();//对象行
for(intnum=0;numcolumnNames.addElement(metaData.getColumnLabel(num+1));
}//循环生成
while(rs.next()){
VectornewRow=newVector();/*for循环,将结果集中一行数据放到newRow矢量中*/
for(inti=1;i<=number;i++){
newRow.addElement(rs.getObject(i));
}/*将上面的矢量newRow作为矢量rows中的一个元素,这样rows中的一个元素就代表结果集中的一行数据*/
rows.addElement(newRow);//增长行
myTable=newDefaultTableModel(rows,columnNames);//在表格中加载数据
}
}catch(SQLExceptionex){
}
table=newJTable(myTable);
jscrollpane=newJScrollPane(table);
jscrollpane.setViewportView(table);
jscrollpane.revalidate();
jPanel3.setLayout(newBorderLayout());
jPanel3.add(jscrollpane,BorderLayout.CENTER);
jPanel3.setVisible(true);
效果如下:
三、修改模块:
首先对所需修改的员工信息进行查询,并显示在修改界面上,关键代码如下:
Connection1db=newConnection1();
Connectioncon=db.getConnection();//连接数据库
Stringsql="select*fromsellInfo";
Statementps=con.createStatement();
ResultSetrs=ps.executeQuery(sql);//查询
while(rs.next()){
if(rs.getString("员工编号").equals(jTextField1.getText())){
//匹配该员工的信息;
num1=rs.getString("员工编号");
num2=rs.getString("商品编号");
num3=rs.getInt("商品数目");
price1=rs.getInt("应付金额(元)");
price2=rs.getInt("顾客付款(元)");
price3=rs.getInt("找回金额(元)");
}
}
jTextField2.setText(num1);
jTextField3.setText(num2);
jTextField4.setText(""+num3);
jTextField5.setText(""+price1);
jTextField6.setText(""+price2);
jTextField7.setText(""+price3);//在修改界面上显示该员工销售的信息
}
然后在对修改界面上的信息进行修改,并返回保存至数据库,关键代码如下:
Stringsql="updatesellInfoset员工编号='"+num1+"',商品编号='"+num2+"',商品数目="+num3+",应付金额(元)="+price1+",顾客付款(元)="+price2+",找回金额(元)="+price3+"where员工编号='"+num1+"'";
try{
ps=con.createStatement();
ps.executeUpdate(sql);//数据更新
}catch(SQLExceptione){
e.printStackTrace();
}
效果如下:
四、删除模块:
首先对