图书销售管理系统数据库课程设计.docx

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

图书销售管理系统数据库课程设计.docx

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

图书销售管理系统数据库课程设计.docx

图书销售管理系统数据库课程设计

数据库原理及应用

课程设计报告

图书销售管理系统

 

学校:

专业:

计算机科学与技术

班级:

10计算机

(2)班

姓名:

学号:

 

课程设计任务书

课题

名称

图书销售管理系统

设计

目的

1.加深对数据库系统、程序设计语言的理论知识的理解和应用水平。

2.通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。

3.通过实际编程加深对基本原理的理解,提高实践能力;

4.学习开发资料的收集与整理,学会撰写课程设计报告。

实验

环境

1.微型电子计算机(PC);

2.WindowsXP操作系统,SQLServer2000

任务

要求

1.利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;

2.在第16周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;

3.本课题主要实现图书入库信息管理、图书删除管理、图书添加管理、图书信息查询管理、图书销售信息管理等。

4.结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字。

 

摘要:

随着信息时代的到来,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,网络应用越来越普遍,而且走进了千家万户,网络销售应运而生,而图书销售就是其中之一。

传统的图书销售仅仅局限于一小块地方且人力与物力过多浪费,而网络图书销售则面向全中国,甚至全世界而且管理方便。

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

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

N的关系;一个管理员可以查询多本图书信息,一本图书可以被多个管理员查询,所以是M:

N的关系;一个管理员可以销售多本图书,一本图书只能被一个管理员销售,所以是1:

N的关系。

 

3.数据库表结构设计

表3.1图书入库信息表

列名

数据类型

长度

描述

bookname

nvarchar

50

书名,不允许为空

shoppingdate

datetime

8

购买日期,不允许为空

qantity

int

8

图书数量,不允许为空

price

money

8

图书单价,不允许为空

area

nvarchar

50

图书入库区域,不允许为空

表3.2图书删除信息表

列名

数据类型

长度

描述

bookname

nvarchar

50

书名,不允许为空

area

nvarchar

50

图书入库区域,不允许为空

quantity

int

8

图书现存数量,不允许为空

requantity

int

8

图书剩余数量,不允许为空

deldate

datetime

8

删除日期,不允许为空

 

表3.3管理员信息表

列名

数据类型

长度

描述

adminid

nvarchar

50

管理员登录帐号,定义为主键

adminpwd

nvarchar

50

管理员登录密码,不允许为空

表3.4图书信息查询表

列名

数据类型

长度

描述

bookname

nvarchar

50

书名,不允许为空

area

nvarchar

20

图书区域,不允许为空

bookprice

money

8

图书单价,不允许为空

bookquantity

int

8

图书数量,不允许为空

press

nvarchar

50

出版社,不允许为空

publishdate

nvarchar

50

出版日期,不允许为空

author

nvarchar

50

作者,不允许为空

表3.5图书销售信息表

列名

数据类型

长度

描述

bookname

nvarchar

50

书名,不允许为空

quantity

int

8

现存数量,不允许为空

price

money

8

图书价格,不允许为空

area

nvarchar

20

库存区域,不允许为空

requantity

int

8

剩余数量,不允许为空

sellquantity

int

8

销售数量,不允许为空

selldate

char

8

销售日期,不允许为空

 

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="'WHEREBookName='"+Str_BookName+"'";

if(Str_Autor.length()>0)

stmt.executeUpdate(query+"Autor='"+Str_Autor+query_end);

if(Str_Pres.length()>0)

stmt.executeUpdate(query+"Pres='"+Str_Pres+query_end);

if(Str_PublicationDate.length()>0)

stmt.executeUpdate(query+"PublicationDate='"+Str_PublicationDate+query_end);

if(Str_Pricing.length()>0)

stmt.executeUpdate(query+"Pricing='"+Str_Pricing+query_end);

if(Buy_Num<=Store_Num)

stmt.executeUpdate(query+"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

JOptionPane.showMessageDialog(Book_Sell_Management.this,"请输入书名。

");

}

}

}

 

版本信息:

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

}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==btn_exit)

Verison_Window.dispose();

}

}

主窗口:

publicclassLandedextendsFrameimplementsActionListener{

/*创建用户登陆窗口所需组件*/

JFrameLog_In_Window;//创建登陆窗口

Containercon;//创建登录窗口容器

JLabeluser;//创建容器

JLabelpass;

Buttonbtn_enter=newButton("登陆");//创建按钮组件

Buttonbtn_exit=newButton("退

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

当前位置:首页 > 高等教育 > 文学

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

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