1、网络图书销售具有面向范围广,价格优惠,种类齐全,购买方便等特点。本图书销售管理系统的开发语言是JAVA,开发环境是Visual Studio 2008,数据库采用SQL Server 2005。 1 需求分析1.1 系统目标设计出一个能够查询图书销售管理信息查询的平台。1.2 功能划分图书销售管理系统包括登录、图书入库、添加图书、删除图书、图书信息修改、图书信息查询、销售图书等功能。2 概念设计本系统规划出的实体有:管理员实体、图书入库信息实体、图书添加信息实体、图书删除信息实体、图书信息查询实体、图书销售信息实体,它们之间的关系如下图所示。2.1 图书销售管理系统概念设计。图 书图书销售系统
2、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 图书入库信息表列名数据类型长度描述booknamenvarchar50书名,不允许为空shopp
3、ingdatedatetime8购买日期,不允许为空qantityint图书数量,不允许为空pricemoney图书单价,不允许为空area图书入库区域,不允许为空表3.2 图书删除信息表quantity图书现存数量,不允许为空requantity图书剩余数量,不允许为空deldate删除日期,不允许为空表3.3 管理员信息表adminid管理员登录帐号,定义为主键adminpwd管理员登录密码,不允许为空表3.4 图书信息查询表20图书区域,不允许为空bookpricebookquantitypress出版社,不允许为空publishdate出版日期,不允许为空author作者,不允许为空表
4、3.5图书销售信息表现存数量,不允许为空图书价格,不允许为空库存区域,不允许为空剩余数量,不允许为空sellquantity销售数量,不允许为空selldatechar销售日期,不允许为空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 图书删除系统5.6 进入图书信息查询系统,如图所示。图5.7 图书查询系统5.7 进入图书销售系统,如图所示。源程序:图书销售:public class Book_Sale extends Frame implements ActionListener JFrame Book_Sale_Window; Label LB_Print = new Label(请输入要销售的图书信息); JLabel JL_BookName = new JLabel(); TextField TF_BookName = new TextField(); JLabel JL_Autor = new JL
6、abel(); TextField TF_Autor = new TextField(); JLabel JL_Pres = new JLabel(); TextField TF_Pres = new TextField(); JLabel JL_PublicationDate = new JLabel(); TextField TF_PublicationDate = new TextField(); JLabel JL_Pricing = new JLabel(); TextField TF_Pricing = new TextField(); JLabel JL_Book_Sell_Nu
7、m = new JLabel(); TextField TF_Book_Sell_Num = new TextField(); Button Btn_ok = new Button(确 定 Button Btn_exit = new Button(返 回 String Str_BookName = new String(); String Str_Autor = new String(); String Str_Pres = new String(); String Str_PublicationDate = new String(); String Str_Pricing = new Str
8、ing(); int Buy_Num,Store_Num; String Parameter_BookName = new String();/申请Parameter_BookName用来保存传递过来的BookName参数 Book_Sale() Parameter_BookName = Str_BookName;/获取参数 Book_Sale_Window = new JFrame(图书销售 Book_Sale_Window.setBounds(650,160,400,350); Book_Sale_Window.setLayout(null); Book_Sale_Window.add(L
9、B_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.setT
10、ext(出 版 社: 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_Pric
11、ing.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_Wi
12、ndow.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_
13、ok.addActionListener(this); Btn_exit.addActionListener(this); Book_Sale_Window.setVisible(true); public void actionPerformed(ActionEvent e) PreparedStatement pstmt=null; ResultSet rs= null; if(e.getSource()=Btn_exit) Book_Sale_Window.dispose(); if(e.getSource()=Btn_ok) Str_BookName = TF_BookName.get
14、Text(); 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) Connection con; Statement stmt; String query; String query_e
15、nd; String dbClassName = com.microsoft.jdbc.sqlserver.SQLServerDriver; String myurl=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=Book/连接数据库里的库 String user=sa String password= people query=UPDATE Books SET try Class.forName(dbClassName).newInstance(); con=DriverManager.getConnection(myurl,us
16、er,password); stmt = con.createStatement(); pstmt=con.prepareStatement(select * from Book where BookName=+ Parameter_BookName); rs=pstmt.executeQuery(); if(rs.next() Store_Num = rs.getInt(BookLeft stmt.executeUpdate(query+BookName=+Str_BookName+ WHERE BookName=+Parameter_BookName+ query_end= if(Str_
17、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) JOptionPane.showMessageD
18、ialog(Book_Sell_Management.this,库存不足,销售失败 else请输入书名。 版本信息: public class Verison extends JFrame implements ActionListener JFrame Verison_Window;/定义版本信息组件 Button btn_exit = new Button( Container con; JLabel lab_head; JLabel lab_name; JLabel lab_maker; JLabel lab_ma; JLabel lab_zhang; JLabel lab_bai; V
19、erison() Verison_Window = new JFrame(关于/初始化组件并进行设置 Verison_Window.setBounds(450,220,330,220); con = Verison_Window.getContentPane(); con.setLayout(null); lab_name = new JLabel(数据库原理及应用 lab_name.setBounds(115,0,110,30); lab_head = new JLabel(课程设计 - 图书销售管理系统 lab_head.setBounds(80,20,180,30); lab_maker
20、 = new JLabel(制作人: lab_maker.setBounds(60,50,80,30); lab_ma = new JLabel(10计科2班 1010311209 马强 lab_ma.setBounds(80,70,180,30); lab_zhang = new JLabel(10计科2班 1010311222 张露 lab_zhang.setBounds(80,90,180,30); lab_bai = new JLabel(10计科2班 1010311223 白雪峰 lab_bai.setBounds(80,110,190,30); con.add(lab_head);
21、/将所有组件添加到容器中 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();主窗口:public class Landed extends Frame implements ActionListener /*创建用户登陆窗口所需组件*/ JFrame Log_In_Window;/创建登陆窗口/创建登录窗口容器 JLabel user;/创建容器 JLabel pass; Button btn_enter = new Button(登 陆/创建按钮组件 Button btn_exit = new
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1