图书销售管理系统数据库课程设计Word文档下载推荐.docx

上传人:b****6 文档编号:19587151 上传时间:2023-01-08 格式:DOCX 页数:26 大小:358.67KB
下载 相关 举报
图书销售管理系统数据库课程设计Word文档下载推荐.docx_第1页
第1页 / 共26页
图书销售管理系统数据库课程设计Word文档下载推荐.docx_第2页
第2页 / 共26页
图书销售管理系统数据库课程设计Word文档下载推荐.docx_第3页
第3页 / 共26页
图书销售管理系统数据库课程设计Word文档下载推荐.docx_第4页
第4页 / 共26页
图书销售管理系统数据库课程设计Word文档下载推荐.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

图书销售管理系统数据库课程设计Word文档下载推荐.docx

《图书销售管理系统数据库课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《图书销售管理系统数据库课程设计Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。

图书销售管理系统数据库课程设计Word文档下载推荐.docx

网络图书销售具有面向范围广,价格优惠,种类齐全,购买方便等特点。

本图书销售管理系统的开发语言是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

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

当前位置:首页 > 幼儿教育

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

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