图书销售管理系统数据库课程设计Word文档下载推荐.docx
- 文档编号:19587151
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:26
- 大小:358.67KB
图书销售管理系统数据库课程设计Word文档下载推荐.docx
《图书销售管理系统数据库课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《图书销售管理系统数据库课程设计Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
网络图书销售具有面向范围广,价格优惠,种类齐全,购买方便等特点。
本图书销售管理系统的开发语言是JAVA,开发环境是VisualStudio2008,数据库采用SQLServer2005。
1需求分析
1.1系统目标
设计出一个能够查询图书销售管理信息查询的平台。
1.2功能划分
图书销售管理系统包括登录、图书入库、添加图书、删除图书、图书信息修改、图书信息查询、销售图书等功能。
2概念设计
本系统规划出的实体有:
管理员实体、图书入库信息实体、图书添加信息实体、图书删除信息实体、图书信息查询实体、图书销售信息实体,它们之间的关系如下图所示。
2.1图书销售管理系统概念设计。
。
图书
图书销售系统E-R图
2.2各实体的E-R图
2.2.1图书入库信息系统E-R图
2.2.2图书删除系统E-R图
2.2.3图书信息查询系统E-R图
2.2.4图书销售系统E-R图
分析:
一个管理员可以购买多本图书,一本图书只能被一个管理员购买,所以是1:
N的关系;
一个管理员可以删除多本图书,一本图书只能被一个管理员删除,所以是1:
一个管理员可以查询多本图书信息,一本图书可以被多个管理员查询,所以是M:
一个管理员可以销售多本图书,一本图书只能被一个管理员销售,所以是1:
N的关系。
3.数据库表结构设计
表3.1图书入库信息表
列名
数据类型
长度
描述
bookname
nvarchar
50
书名,不允许为空
shoppingdate
datetime
8
购买日期,不允许为空
qantity
int
图书数量,不允许为空
price
money
图书单价,不允许为空
area
图书入库区域,不允许为空
表3.2图书删除信息表
quantity
图书现存数量,不允许为空
requantity
图书剩余数量,不允许为空
deldate
删除日期,不允许为空
表3.3管理员信息表
adminid
管理员登录帐号,定义为主键
adminpwd
管理员登录密码,不允许为空
表3.4图书信息查询表
20
图书区域,不允许为空
bookprice
bookquantity
press
出版社,不允许为空
publishdate
出版日期,不允许为空
author
作者,不允许为空
表3.5图书销售信息表
现存数量,不允许为空
图书价格,不允许为空
库存区域,不允许为空
剩余数量,不允许为空
sellquantity
销售数量,不允许为空
selldate
char
销售日期,不允许为空
4应用程序设计
4.1应用程序流程图
图4.1应用程序流程图
4.2图书销售系统功能模块图
5编程实现
5.1运行系统,显示系统登陆界面,如图5.1所示。
图5.1系统登陆
5.2进入图书销售系统,显示主界面,如图5.2所示。
图5.2主界面
5.3进入图书入库系统,如图5.3所示。
图5.3图书入库信息
5.4进入图书信息修改系统,如图5.4所示。
图5.4图书修改信息
5.5进入删除图书信息系统,如图5.5所示。
图5.5图书删除系统
5.6进入图书信息查询系统,如图所示。
图5.7图书查询系统
5.7进入图书销售系统,如图所示。
源程序:
图书销售:
publicclassBook_SaleextendsFrameimplementsActionListener{
JFrameBook_Sale_Window;
LabelLB_Print=newLabel("
请输入要销售的图书信息"
);
JLabelJL_BookName=newJLabel();
TextFieldTF_BookName=newTextField();
JLabelJL_Autor=newJLabel();
TextFieldTF_Autor=newTextField();
JLabelJL_Pres=newJLabel();
TextFieldTF_Pres=newTextField();
JLabelJL_PublicationDate=newJLabel();
TextFieldTF_PublicationDate=newTextField();
JLabelJL_Pricing=newJLabel();
TextFieldTF_Pricing=newTextField();
JLabelJL_Book_Sell_Num=newJLabel();
TextFieldTF_Book_Sell_Num=newTextField();
ButtonBtn_ok=newButton("
确定"
ButtonBtn_exit=newButton("
返回"
StringStr_BookName=newString();
StringStr_Autor=newString();
StringStr_Pres=newString();
StringStr_PublicationDate=newString();
StringStr_Pricing=newString();
intBuy_Num,Store_Num;
StringParameter_BookName=newString();
//申请Parameter_BookName用来保存传递过来的BookName参数
Book_Sale(){
Parameter_BookName=Str_BookName;
//获取参数
Book_Sale_Window=newJFrame("
图书销售"
Book_Sale_Window.setBounds(650,160,400,350);
Book_Sale_Window.setLayout(null);
Book_Sale_Window.add(LB_Print);
LB_Print.setBounds(140,10,150,20);
JL_BookName.setText("
书名:
"
JL_BookName.add(TF_BookName);
JL_BookName.setBounds(30,30,100,40);
TF_BookName.setBounds(100,7,220,25);
JL_Autor.setText("
作者:
JL_Autor.add(TF_Autor);
JL_Autor.setBounds(30,70,100,40);
TF_Autor.setBounds(100,7,220,25);
JL_Pres.setText("
出版社:
JL_Pres.add(TF_Pres);
JL_Pres.setBounds(30,110,100,40);
TF_Pres.setBounds(100,7,220,25);
JL_PublicationDate.setText("
出版日期:
JL_PublicationDate.add(TF_PublicationDate);
JL_PublicationDate.setBounds(30,150,100,40);
TF_PublicationDate.setBounds(100,7,220,25);
JL_Pricing.setText("
定价:
JL_Pricing.add(TF_Pricing);
JL_Pricing.setBounds(30,190,100,40);
TF_Pricing.setBounds(100,7,220,25);
JL_Book_Sell_Num.setText("
销售数量:
JL_Book_Sell_Num.add(TF_Book_Sell_Num);
JL_Book_Sell_Num.setBounds(30,230,100,40);
TF_Book_Sell_Num.setBounds(100,7,220,25);
Book_Sale_Window.add(JL_BookName);
Book_Sale_Window.add(JL_Autor);
Book_Sale_Window.add(JL_Pres);
Book_Sale_Window.add(JL_PublicationDate);
Book_Sale_Window.add(JL_Pricing);
Book_Sale_Window.add(JL_Book_Sell_Num);
Book_Sale_Window.add(Btn_ok);
Book_Sale_Window.add(Btn_exit);
Btn_ok.setBounds(90,270,65,30);
Btn_exit.setBounds(250,270,65,30);
Btn_ok.addActionListener(this);
Btn_exit.addActionListener(this);
Book_Sale_Window.setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
PreparedStatementpstmt=null;
ResultSetrs=null;
if(e.getSource()==Btn_exit)
Book_Sale_Window.dispose();
if(e.getSource()==Btn_ok){
Str_BookName=TF_BookName.getText();
Str_Autor=TF_Autor.getText();
Str_Pres=TF_Pres.getText();
Str_PublicationDate=TF_PublicationDate.getText();
Str_Pricing=TF_Pricing.getText();
Buy_Num=Integer.parseInt(TF_Book_Sell_Num.getText());
if(Str_BookName.length()>
0){
Connectioncon;
Statementstmt;
Stringquery;
Stringquery_end;
StringdbClassName="
com.microsoft.jdbc.sqlserver.SQLServerDriver"
;
Stringmyurl="
jdbc:
microsoft:
sqlserver:
//localhost:
1433;
DatabaseName=Book"
//连接数据库里的库
Stringuser="
sa"
Stringpassword="
people"
query="
UPDATEBooksSET"
try
{
Class.forName(dbClassName).newInstance();
con=DriverManager.getConnection(myurl,user,password);
stmt=con.createStatement();
pstmt=con.prepareStatement("
'
select*fromBookwhereBookName='
+Parameter_BookName);
rs=pstmt.executeQuery();
if(rs.next()){
Store_Num=rs.getInt("
BookLeft"
}
stmt.executeUpdate(query+"
BookName='
+Str_BookName+"
WHEREBookName='
+Parameter_BookName+"
query_end="
if(Str_Autor.length()>
0)
stmt.executeUpdate(query+"
Autor='
+Str_Autor+query_end);
if(Str_Pres.length()>
Pres='
+Str_Pres+query_end);
if(Str_PublicationDate.length()>
PublicationDate='
+Str_PublicationDate+query_end);
if(Str_Pricing.length()>
Pricing='
+Str_Pricing+query_end);
if(Buy_Num<
=Store_Num)
BookLeft='
+(Store_Num-Buy_Num)+query_end);
JOptionPane.showMessageDialog(Book_Sell_Management.this,"
销售成功!
!
Book_Sale_Window.dispose();
stmt.close();
con.close();
}catch(Exceptionex){//数据库的错误处理
System.err.println("
Exception:
+ex.getMessage());
}
}
elseif(Buy_Num>
Store_Num){
JOptionPane.showMessageDialog(Book_Sell_Management.this,"
库存不足,销售失败"
else
请输入书名。
}
}
版本信息:
publicclassVerisonextendsJFrameimplementsActionListener{
JFrameVerison_Window;
//定义版本信息组件
Buttonbtn_exit=newButton("
Containercon;
JLabellab_head;
JLabellab_name;
JLabellab_maker;
JLabellab_ma;
JLabellab_zhang;
JLabellab_bai;
Verison(){
Verison_Window=newJFrame("
关于"
//初始化组件并进行设置
Verison_Window.setBounds(450,220,330,220);
con=Verison_Window.getContentPane();
con.setLayout(null);
lab_name=newJLabel("
数据库原理及应用"
lab_name.setBounds(115,0,110,30);
lab_head=newJLabel("
课程设计--图书销售管理系统"
lab_head.setBounds(80,20,180,30);
lab_maker=newJLabel("
制作人:
lab_maker.setBounds(60,50,80,30);
lab_ma=newJLabel("
10计科2班1010311209马强"
lab_ma.setBounds(80,70,180,30);
lab_zhang=newJLabel("
10计科2班1010311222张露"
lab_zhang.setBounds(80,90,180,30);
lab_bai=newJLabel("
10计科2班1010311223白雪峰"
lab_bai.setBounds(80,110,190,30);
con.add(lab_head);
//将所有组件添加到容器中
con.add(lab_name);
con.add(lab_maker);
con.add(lab_ma);
con.add(lab_zhang);
con.add(lab_bai);
con.add(btn_exit);
btn_exit.setBounds(230,150,55,25);
btn_exit.addActionListener(this);
//对返回按钮设置监听
Verison_Window.setVisible(true);
if(e.getSource()==btn_exit)
Verison_Window.dispose();
主窗口:
publicclassLandedextendsFrameimplementsActionListener{
/*创建用户登陆窗口所需组件*/
JFrameLog_In_Window;
//创建登陆窗口
//创建登录窗口容器
JLabeluser;
//创建容器
JLabelpass;
Buttonbtn_enter=newButton("
登陆"
//创建按钮组件
Buttonbtn_exit=new
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 销售 管理 系统 数据库 课程设计