




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳工程学院课程设计报告 摘 要沈阳工程学院课程设计报告 目 录沈阳工程学院课程设计报告 第1章 绪论- 0 -沈阳工程学院课程设计报告 第2章 系统功能介绍第2章 系统功能介绍2.1系统功能总框图 我们设计的图书管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机图书各种信息进行日常管理,如查询、修改、增加、删除图书的管理等。本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。该系统主要包括管理员子系统、书籍管理子系统退出子系统两个部分,各部分主要功能如下:管理员子系统:用于管理员的登陆和密码修改。书籍管理子系统:用于书籍信息的管理,如新书入库、图书查询、图书删除、图书浏览
2、。根据上述系统功能分析,按照结构化程序设计的要求,得到系统的功能结构图,如图2.1所示。图书管理系统图书入库图书查询图书删除图书浏览管理员系统书籍管理系统修改用户密码用户信息图2.1 图书管理系统功能结构框图2.2模块功能介绍本系统是图书管理系统,小巧。本系统启动后需要登陆,然后进入主界在这个界面我们可以选择所需要的功能模块来完成所要执行的功能。系统共有5个功能模块:图书入库、图书查询、图书删除、图书概览、修改密码。支持一系列关于图书管理方面的简单操作,诸如查询、删除、添加、修改密码等。主要包括如下功能:图书浏览:用于浏览书籍的信息。图书入库:用于添加图书信息。图书查询:用于按图书号查询书籍信
3、息。图书删除:用于按图书名删除图书信息。修改密码:用于修改管理员密码。2.3 组内任务分工表2-1 小组任务分工情况表组员具 体 任 务 分 工刘雨航主界面、管理员登录朱 琳图书查询、图书删除李慧冬图书浏览、图书入库谭高奋管理员密码修改、数据库表- 2 -沈阳工程学院课程设计报告 第3章 数据库设计第3章 数据库设计3.1 数据库需求分析本系统的库应该分为两个部分:管理员信息部分和图书信息部分。管理员信息部分有用户名和密码。图书信息部分有图书名、图书号、作者、单价、出版社和入库时间的入库信息。在一个图书管理中,有一个管理员去管理多本书籍和图书信息,图书馆中有多本书籍信息,管理员只有一个账号和密
4、码,一本书籍只有一个图书号。针对本系统的特点,在对所搜集的数据进行规范化之后,定义了如下两张表格,分别是管理员信息表和图书信息表。3.2 数据库概念结构设计N1图书信息管理员维护图书名图书号单价作者出版社入库时间用户名密码图3.1 图书管理系统的整体E-R图3.3 数据库表的设计表3-1 管理员信息表字段名称数据类型长 度备 注用户名文 本10密 码文 本15表3-2 图书信息表字段名称数据类型长度备注图书名文本40图书号文本5作者文本10单价货币出版社文本50入库时间日期- 4 -沈阳工程学院课程设计报告 第4章 系统功能实现第4章 系统功能实现4.1 登陆界面功能实现管理员通过输入用户名和
5、密码,即可登入图书管理系统。运行界面如图4.1所示:图4.1 登陆界面主要程序代码如下:class Login extends JFrame implements ActionListener Container cp=null; JFrame f=null; JButton j1,j2; JTextField t1; JPasswordField t2; JLabel jlable1,jlable2; Color c; JPanel jp1,jp2; public void confirm()/验证用户和密码是否存在 tryClass.forName(sun.jdbc.odbc.JdbcOd
6、bcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql=con.createStatement();String uname=t1.getText().trim();String Mima=t2.g
7、etText().trim();String queryMima=select * from user where 用户名=+uname+ and 密码=+Mima+;ResultSet rs=sql.executeQuery(queryMima); if(rs.next()new Book(uname);f.hide(); con.close();elseJOptionPane.showMessageDialog(null,该用户不存在,提示!, JOptionPane.YES_NO_OPTION); t1.setText();t2.setText(); catch(SQLException
8、 g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); 4.2 主界面功能实现图书管理系统主界面用于管理员对书籍的管理,主要功能包括如下几部分:图书入库、图书查询、图书删除、图书概览和管理员修改密码。运行界面如图4.2所示: 图4.2 主界面主要程序代码如下:class Book extends JFrame implements ActionListener JButton QueryBook=new JButton(图书查询);JButton BookIn=new JButto
9、n(图书入库);JButton RemoveBook=new JButton(图书删除);JButton BookBrower=new JButton(图书概览);JButton UpdateMima=new JButton(修改密码);JMenuBar mb = new JMenuBar();/菜单栏JPanel jp=new JPanel();/用来填放子模块Container cp=getContentPane();String username;Book(String username) this.username=username;mb.add(QueryBook);mb.add(B
10、ookIn);mb.add(RemoveBook);mb.add(BookBrower);mb.add(UpdateMima); cp.add(mb,North);jp.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.blue, 2),null,TitledBorder.CENTER, TitledBorder.TOP);jp.setLayout(new BorderLayout(); JLabel label1 = new JLabel(new ImageIcon(4.jpg);j
11、p.add(label1);JLabel JL=new JLabel(欢迎登陆,SwingConstants.CENTER); jp.add(JL,North);JScrollPane scrollpane=new JScrollPane(jp);cp.add(scrollpane);setTitle(欢迎登陆);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度
12、*/setSize(x,y); /*让系统窗口平铺整个显示器窗口*/ setSize(600,600); int xcenter=(x-600)/2; int ycenter=(y-600)/2; setLocation(xcenter,ycenter);/*显示在窗口中央*/setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/注册临听器QueryScore.addActionListener(this);QueryXuefen.addActionListener(this);jiangfa.addActionLis
13、tener(this);xuanke.addActionListener(this);gaiMima.addActionListener(this);public void actionPerformed(ActionEvent e)String cmd=e.getActionCommand();if (cmd.equals(图书查询)new QueryBook();if (cmd.equals(图书入库)new BookIn();if (cmd.equals(图书删除)new RemoveBook();if (cmd.equals(图书概览)new BookBrower().showReco
14、rd(); if (cmd.equals(修改密码)new UpdateMima(username);4.3 图书入库功能实现图书入库是图书馆管理系统中不可缺少的部分,用于入库图书,通过界面中的文本框接收书籍信息,然后将此信息写入Access数据库的表中。在添加过程中判断图书号的位数,以确保数据的有效性,还要在添加之前判断要添加信息的图书号在库中是否已经存在,如果存在则要提示操作者图书证号已存在,要求重新输入。若不存在将信息写入表中,并提示添加成功。运行界面如图4.3所示:图4.3 图书入库界面主要程序代码如下: class BookIn implements ActionListener J
15、Frame f3;Container cp;JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;JButton jbt1,jbt2;/按钮:确定、取消、JLabel label;/标签JTextField tf1,tf2,tf3,tf4,tf5,tf6; /定义文本框JLabel label1,label2,label3,label4;String sno; public void insertRecord() if(tf1.getText().equals()|tf2.getText().equals()|tf3.getText().equals()|tf4.getTe
16、xt().equals()|tf5.getText().equals()|tf6.getText().equals()JOptionPane.showMessageDialog(f3,请填写图书资料);return; tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使
17、用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql;String s=insert into book values(+tf1.getText()+,+tf2.getText()+,+tf3.getText()+,+tf4.getText()+,+tf5.getText()+,+tf6.getText()+);/查询输入的图书号是否在数据库中存在 String query=select * from book where 图书号=+tf2.getText()+;sql=con.createStat
18、ement(); ResultSet rs=sql.executeQuery(query);/返回查询结果集boolean moreRecords=rs.next();/判断结果集是否有数据 if(moreRecords)JOptionPane.showMessageDialog(f3,图书号已经被使用,请重新输入);con.close(); tf2.setText(); return; int insert=sql.executeUpdate(s); if(insert=1) JOptionPane.showMessageDialog(null,图书信息录入成功!);tf1.setText(
19、);tf2.setText();tf3.setText();tf4.setText();tf5.setText();tf6.setText(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage();4.4 图书浏览功能实现通过图书浏览界面可以查看到现有的书籍和总数。运行界面如图4.4所示:图4.4 图书浏览界面主要程序代码如下: class BookBrower implements ActionListener JFrame f;Contai
20、ner cp;JPanel jpS,jpanelWest;JButton jbt1,jbt2;/按钮,确定,返回JLabel label,L;/标签JTable table;/用来接收数据库中返回的信息 Object columnName=图书名,图书号,单价,作者,出版社,入库时间; Object ar =new Object806;String sno;String count=xx; public void showRecord() while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0; tryClass.forName(sun.jdb
21、c.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url); String s=select * from book ; Statement sql=con.createStatement(); Res
22、ultSet rs=sql.executeQuery(s); while(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getString(3);String writer=rs.getString(4);String publish=rs.getString(5);String indate=rs.getString(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=indate;i+; count
23、=+i+;L.setText(书库现在共有图书+count+本);f.repaint(); con.close(); catch(SQLException g)System.out.println(E Code+g.getErrorCode(); System.out.println(E M+g.getMessage();4.5 图书删除功能实现图书删除用于删除书籍信息,管理员先以图书号查询,然后到Access数据库的表中查找相应记录,若存在则将此记录信息读出来当用户触发文本框的监视器时时在界面的文本区域中显示此记录具体的读者信息,用户单击删除按钮触发删除按钮的监视器时将此记录从表中删除。若表
24、中不存在相应的信息则提示用户查无此书。运行界面如图4.5所示:图4.5 图书删除界面主要程序代码如下:class RemoveBook implements ActionListener JFrame f;Container cp;JPanel jpS,jpanelWest;JButton jbt1,jbt2,jbt3;/按钮,查询、取消、修改JLabel label,L;/标签:请输入学号JTextField tf; /定义文本框JTable table;/用来接收数据库中返回的信息 Object columnName=图书名,图书号,单价,作者,出版社,入库时间; Object ar =n
25、ew Object806;String count=xx; public void showRecord(String ql)while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);try String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.
26、mdb;/直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url); Statement sql; String s=select * from book where 图书名 =+ql +; sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); while(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getString(3);String
27、 writer=rs.getString(4);String publish=rs.getString(5);String indate=rs.getString(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=indate;i+; count=+i+;L.setText(该种图书共有+count+本);f.repaint(); con.close();System.out.println(ar01); catch(SQLException g)System.out.println(E Code+g.getErro
28、rCode(); System.out.println(E M+g.getMessage(); public void deleteRecord(int index) tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件Connection co
29、n=DriverManager.getConnection(url);Statement sql;String ql=(String)(arindex1);String s=delete * from book where 图书号 =+ql +; sql=con.createStatement(); int del=sql.executeUpdate(s); if(del=1) JOptionPane.showMessageDialog(null,删除成功!, 信息, JOptionPane.YES_NO_OPTION); con.close();f.repaint(); catch(SQLE
30、xception g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); 4.6 图书查询功能实现图书查询用于查询书籍信息,管理员可以通过输入图书号,然后到Access数据库的表中查找相应记录,若存在则将此记录信息读出来在界面的文本区域中显示此记录具体的图书信息,若表中不存在相应的信息则不显示图书信息。运行界面如图4.6所示:图4.6 图书查询界面主要程序代码如下:class QueryBook implements ActionListener JFrame f3;Containe
31、r cp;JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;JButton jbt1,jbt2;/按钮,确定、取消JLabel label;/标签:请输入图书号JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6; /定义文本框JLabel label1,label2,label3,label4;public void showRecord() tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程
32、序失败!);tryString url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql;String ql=tf.getText().trim();String s=select * from book where 图书号 =+ql +; sql=con.createStatement(); ResultSet rs=sql.executeQuery(s);
33、if(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getString(3);String writer=rs.getString(4);String publish=rs.getString(5);String indate=rs.getString(6);tf1.setText(bname);tf2.setText(bno);tf3.setText(price);tf4.setText(writer);tf5.setText(publish);tf6.setText(ind
34、ate); else JOptionPane.showMessageDialog(null,您输入的图书号不存在,请重新输入, 输入错误, JOptionPane.YES_NO_OPTION); con.close(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); tf1.setEditable(false); tf2.setEditable(false); tf3.setEditable(false); tf4.setEditabl
35、e(false); tf5.setEditable(false); tf6.setEditable(false);4.7 密码修改功能实现密码修改通过输入图书证号,然后到Access数据库的表中查找是否存在此记录,若存在则将用户输入的信息写入表中对应记录的位置,并提示修改成功,若不存在则提示用户此号不存在。在修改过程中判断图书证号的位数,以确保数据的有效性。运行界面如图4.7所示:图4.7 密码修改界面主要程序代码如下:class UpdateMima extends JFrame implements ActionListener JFrame f;Container cp; JPanel
36、jp1,jp2,jp3,jp4,jp,jpanelWest;JButton jbt1,jbt2;/按钮,确定、取消JLabel label;/标签:修改密码JTextField name; JPasswordField tf1,tf2,tf3; /定义文本框JLabel label1,label2,label3,label4;public void updateM()tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryStri
37、ng url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql=con.createStatement();String uname=name.getText().trim();String queryMima=select * from user where 用户名=+uname+;ResultSet rs=sql.executeQuery(queryMima
38、); if(rs.next()String newMima=tf2.getText().trim(); String s=update user set 密码=+newMima+ where 用户名 =+uname +; sql=con.createStatement(); int updateMima=sql.executeUpdate(s); if(updateMima=1) JOptionPane.showMessageDialog(f,密码修改成功!); con.close(); f.repaint();elseJOptionPane.showMessageDialog(null,该用
39、户不存在,警告!, JOptionPane.YES_NO_OPTION); name.setText();tf1.setText();tf2.setText();tf3.setText(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); - 16 -沈阳工程学院课程设计报告 结 论结 论不知不觉java语言课设结束了,通过此次实训我深刻了解了有关java的一些操作和编程。同时也对java课程设计目的也有所感悟。进一步熟悉java语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的java语言程序的水平。此次课设我们做的是图书管理系统,这需要我们进行程序设计方法和技能的基本知识,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,理论知识学习的关键不在于懂的多少,而在于你对其的实践应用,一开始的时候自己编出来的程序有很多问题,尤其是在图形用户界面程序上,因此查阅了不少资料,也请教了好几个同学帮着修改,调试了好久才能正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 继承人合同协议书
- 全自动铺布机项目可行研究报告
- 2025年重组腺病毒P53抗癌因子项目建议书
- 2025年钨基高比重合金合作协议书
- 高端私人游艇码头泊位租赁与船舶租赁代理服务合同
- 抖音短视频创作者信用评价与激励措施合作协议
- 知识产权税费减免效果评估合作协议
- 脊髓骨折的护理
- 生物检测洁净室租赁合同及设备维护协议
- 跨境贸易集装箱GPS追踪器租赁合同
- 材料科学基础基础知识点总结
- 数控铣工图纸(60份)(共60页)
- 新时达-奥莎(sigriner)iAStar-S32电梯专用变频器使用说明书
- 《青年友谊圆舞曲》教案
- 马清河灌区灌溉系统的规划设计课程设计
- 惠州市出租车驾驶员从业资格区域科目考试题库(含答案)
- 加工设备工时单价表
- 高脂血症药物治疗ppt课件
- 单开、菱形及复式交分道岔的检查方法带图解
- 沥青拌和站管理制度汇编(正式版)
- 高层建筑等电位联结安装技术分析探讨
评论
0/150
提交评论