Java图书馆管理系统附全代码课程设计报告精编WORD版.docx

上传人:b****2 文档编号:1575574 上传时间:2023-05-01 格式:DOCX 页数:86 大小:59.96KB
下载 相关 举报
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第1页
第1页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第2页
第2页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第3页
第3页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第4页
第4页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第5页
第5页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第6页
第6页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第7页
第7页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第8页
第8页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第9页
第9页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第10页
第10页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第11页
第11页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第12页
第12页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第13页
第13页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第14页
第14页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第15页
第15页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第16页
第16页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第17页
第17页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第18页
第18页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第19页
第19页 / 共86页
Java图书馆管理系统附全代码课程设计报告精编WORD版.docx_第20页
第20页 / 共86页
亲,该文档总共86页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java图书馆管理系统附全代码课程设计报告精编WORD版.docx

《Java图书馆管理系统附全代码课程设计报告精编WORD版.docx》由会员分享,可在线阅读,更多相关《Java图书馆管理系统附全代码课程设计报告精编WORD版.docx(86页珍藏版)》请在冰点文库上搜索。

Java图书馆管理系统附全代码课程设计报告精编WORD版.docx

Java图书馆管理系统附全代码课程设计报告精编WORD版

IBMsystemofficeroom【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

 

Java图书馆管理系统附全代码课程设计报告精编WORD版

《数据库系统概论》课程报告

课题名称:

小型图书管理系统

课题负责人名(学号):

best

同组成员名单(角色):

指导教师:

评阅成绩:

评阅意见:

提交报告时间:

2015年12月15日

小型图书管理系统

计算机科学与技术专业

学生指导老师

[摘要]随着计算机技术的飞速发展,利用计算机来获得和处理信息是当今信息管理的一大特点。

伴随计算机硬件的快速发展,有关信息管理的软件——数据库系统软件也在迅猛发展着。

图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。

由于图书馆主要从事大量的图书资料的储存和流通。

所以一直以来,计算机在图书馆的图书管理中得到了广泛的应用。

本系统实现图书信息管理的系统化,规范化和自动化,以最大程度提高操作人员的办公效率。

关键词:

JAVA、JDBC、SQLServer、数据库、图书馆管理

一、实验题目:

小型图书管理系统

二、实验的目的和要求:

完成一个小型图书管理系统,功能要求如下:

1)能够通过书籍基本信息(包括:

书号、书名、出版社、出版日期、作者、内容摘要)单个或以AND方式组合多个条件查询书籍信息;

2)对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量

3)可增添新的书籍

4)可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)

5)可修改书籍的基本信息

6)能够通过读者基本信息(包括:

证号、姓名、性别、系名、年级)单个或以AND方式组合多个条件查询读者信息

7)对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期

8)可增添新的读者

9)可删除已有读者(如该读者有尚未归还的借书,则不允许删除)

10)可修改读者的基本信息

11)可完成借还书籍的手续

12)还书时如超期,应该显示超期天数

13)借书时如果有超期的书没有还,则不允许借书

14)可查询有哪些读者有超期的书没有还,列出这些读者的基本信息

三、实验的环境:

1、硬件环境:

CPU:

Intel(R)Corei5-32302.60GHz

RAM:

8GB

2、软件环境:

操作系统:

Windows7UltimateSP1

编译软件:

EclipseLuna

MicrosoftSQLServer2014

四、系统ER图

五、表结构定义(使用表格说明)

六、系统功能模块

1)能够通过书籍基本信息单个或组合多个条件查询书籍信息;

2)对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量

3)可增添新的书籍

4)可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)

5)可修改书籍的基本信息

6)能够通过读者基本信息单个或组合多个条件查询读者信息

7)对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期

8)可增添新的读者

9)可删除已有读者(如该读者有尚未归还的借书,则不允许删除)

10)可修改读者的基本信息

11)可完成借还书籍的手续

12)还书时如超期,应该显示超期天数

13)借书时如果有超期的书没有还,则不允许借书

14)可查询有哪些读者有超期的书没有还,列出这些读者的基本信息

七、程序框架流程图

九、程序运行结果

八、核心代码

AddBook.java

importjava.awt.BorderLayout;

importjava.awt.Container;

importjava.awt.GridLayout;

importjava.awt.event.*;

importjava.util.ArrayList;

importjavax.swing.*;

publicclassAddBookextendsJFrameimplementsActionListener{

SQLOperationop=newSQLOperation();

Containerc=getContentPane();

JPanelp1=newJPanel();

JLabelbookNumber=newJLabel("BookNumber:

");

JLabelbookName=newJLabel("BookName:

");

JLabelbookAuthor=newJLabel("BookAuthor:

");

JLabelpress=newJLabel("Press:

");

JLabelpressTime=newJLabel("Presstime:

");

JLabelbookAbstract=newJLabel("Abstract:

");

JLabelstorage=newJLabel("Storage:

");

JLabelremain=newJLabel("Remain");

JLabelremain1=newJLabel("UpdatewithStorage");

JTextFieldnumberField=newJTextField();

JTextFieldnameField=newJTextField();

JTextFieldauthorField=newJTextField();

JTextFieldpressField=newJTextField();

JTextFieldpressTimeField=newJTextField();

JTextFieldabstractField=newJTextField();

JTextFieldstorageField=newJTextField();

JButtoncancel=newJButton("Cancel");

JButtonconfirm=newJButton("Confirm!

!

");

publicAddBook(){

c.add(p1,BorderLayout.NORTH);

p1.setLayout(newGridLayout(9,2,20,10));

p1.add(bookNumber);

p1.add(numberField);

p1.add(bookName);

p1.add(nameField);

p1.add(bookAuthor);

p1.add(authorField);

p1.add(press);

p1.add(pressField);

p1.add(pressTime);

p1.add(pressTimeField);

p1.add(bookAbstract);

p1.add(abstractField);

p1.add(storage);

p1.add(storageField);

p1.add(remain);

p1.add(remain1);

p1.add(cancel);

p1.add(confirm);

cancel.addActionListener(this);

confirm.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

if(e.getSource()==cancel){

this.dispose();

}

if(e.getSource()==confirm){

this.dispose();

BookInfobook=newBookInfo(numberField.getText(),

nameField.getText(),authorField.getText(),

pressField.getText(),pressTimeField.getText(),

abstractField.getText(),Integer.parseInt(storageField

.getText()),

Integer.parseInt(storageField.getText()));

ArrayListstrArray=newArrayList();

strArray=op.addBookJudgement();

intn=0;

intreplicate=0;

while(n

n++;

if(numberField.getText().equals(strArray.get(n))){

replicate++;

}

}

if(replicate==0){

op.saveBook(book);

JOptionPane.showMessageDialog(null,"Addabooksuccessfully!

",

"Information",JOptionPane.INFORMATION_MESSAGE);

}else{

JOptionPane.showMessageDialog(null,

"Thisbook(number)hasalreadyexisted!

","Warning",

JOptionPane.INFORMATION_MESSAGE);

}

}

}

}

AddReader.java

importjava.awt.BorderLayout;

importjava.awt.Container;

importjava.awt.GridLayout;

importjava.awt.event.*;

importjava.util.ArrayList;

importjavax.swing.*;

publicclassAddReaderextendsJFrameimplementsActionListener{

SQLOperationop=newSQLOperation();

Containerc=getContentPane();

JPanelp1=newJPanel();

JLabelreaderNumber=newJLabel("ReaderNumber:

");

JLabelreaderName=newJLabel("ReaderName:

");

JLabelsex=newJLabel("Sex:

");

JLabeldpt=newJLabel("Department:

");

JLabelgrade=newJLabel("Grade:

");

JTextFieldnumberField=newJTextField();

JTextFieldnameField=newJTextField();

JTextFieldsexField=newJTextField();

JTextFielddptField=newJTextField();

JTextFieldgradeField=newJTextField();

JButtoncancel=newJButton("Cancel");

JButtonconfirm=newJButton("Confirm!

!

");

publicAddReader(){

c.add(p1,BorderLayout.NORTH);

p1.setLayout(newGridLayout(6,2,20,10));

p1.add(readerNumber);

p1.add(numberField);

p1.add(readerName);

p1.add(nameField);

p1.add(sex);

p1.add(sexField);

p1.add(dpt);

p1.add(dptField);

p1.add(grade);

p1.add(gradeField);

p1.add(cancel);

p1.add(confirm);

cancel.addActionListener(this);

confirm.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

if(e.getSource()==cancel){

this.dispose();

}

if(e.getSource()==confirm){

this.dispose();

ReaderInforeader=newReaderInfo(numberField.getText(),

nameField.getText(),sexField.getText(),

dptField.getText(),Integer.parseInt(gradeField.getText()));

ArrayListstrArray=newArrayList();

strArray=op.addReaderJudgement();

intn=0;

intreplicate=0;

while(n

n++;

if(numberField.getText().equals(strArray.get(n))){

replicate++;

}

}

if(replicate==0){

if(!

sexField.getText().equals("boy")

&&!

sexField.getText().equals("girl")){

JOptionPane

.showMessageDialog(

null,

"IntheSexfield,youcanonlyinput'boy'or'girl'!

",

"Warning",JOptionPane.INFORMATION_MESSAGE);

}else{

op.saveReader(reader);

JOptionPane.showMessageDialog(null,

"Addareadersuccessfully!

","Information",

JOptionPane.INFORMATION_MESSAGE);

}

}else{

JOptionPane.showMessageDialog(null,

"Thisreader(number)hasalreadyexisted!

","Warning",

JOptionPane.INFORMATION_MESSAGE);

}

}

}

}

BookDetails.java

importjava.awt.BorderLayout;

importjava.awt.Container;

importjava.awt.Dimension;

importjava.awt.GridLayout;

importjava.awt.event.*;

importjava.util.ArrayList;

importjavax.swing.*;

importjavax.swing.table.DefaultTableModel;

publicclassBookDetailsextendsJFrameimplementsActionListener{

SQLOperationop=newSQLOperation();

Containerc=getContentPane();

JPanelp1=newJPanel();

JPanelp2=newJPanel();

JPanelp3=newJPanel();

JLabelbookNumber=newJLabel("BookNumber:

");

JLabelbookName=newJLabel("BookName:

");

JLabelauthor=newJLabel("Author:

");

JLabelpress=newJLabel("Press:

");

JLabelpressTime=newJLabel("Presstime:

");

JLabelbookAbstract=newJLabel("Abstract:

");

JLabelstorage=newJLabel("Storage:

");

JLabelremain=newJLabel("Remain:

");

JLabelnumberField=newJLabel();

JLabelnameField=newJLabel();

JLabelauthorField=newJLabel();

JLabelpressField=newJLabel();

JLabelpressTimeField=newJLabel();

JLabelabstractField=newJLabel();

JLabelstorageField=newJLabel();

JLabelremainField=newJLabel();

JButtoncancel=newJButton("Cancel");

JLabeldetails=newJLabel("Borrowandreaturndetails");

Object[]s={"Readernumber","Borrowtime","Deadline","Overtime"};

Object[][]ob1=newObject[7][4];

JTabletable=newJTable(ob1,s);

JScrollPanescrollPane=newJScrollPane(table);

publicBookDetails(Stringnumber){

BookInfobook=newBookInfo(number);

ob1=op.borrowListForBook(number);

for(inti=0;i<5;i++){

DefaultTableModelbooks=newDefaultTableModel(ob1,s);

for(intn=0;n<7;n++){

for(intm=0;m<4;m++){

ob1[n][m]=this.ob1[n][m];

}

table.setModel(books);

table.invalidate();

}

}

ArrayListstrArray=newArrayList();

strArray=op.outputBook(book);

numberField.setText(number);

nameField.setText(strArray.get

(1));

authorField.setText(strArray.get

(2));

pressField.setText(strArray.get(3));

pressTimeField.setText(strArray.get(4));

abstractField.setText(strArray.get(5));

storageField.setText(strArray.get(6));

remainField.setText(strArray.get(7));

c.add(p1,BorderLayout.NORTH);

c.add(p2,BorderLayout.CENTER);

c.add(p3,BorderLayout.SOUTH);

p1.setLayout(newGridLayout(9,2,20,10));

p1.add(bookNumber);

p1.add(numberField);

p1.add(bookName);

p1.add(nameField);

p1.add(author);

p1.add(authorField);

p1.add(press);

p1.add(pressField);

p1.add(pressTime);

p1.add(pressTimeField);

p1.add(bookAbstract);

p1.add(abstractField);

p1.add(storage);

p1.add(storageField);

p1.add(remain);

p1.add(remainField);

p1.add(details);

scrollPane.setBounds(0,0,800,300);

p2.add(scrollPane);

p3.add(cancel);

table.setPreferredScrollableViewportSize(newDimension(400,100));

cancel.addActionListener(this);

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2