图书管理系统java_第1页
图书管理系统java_第2页
图书管理系统java_第3页
图书管理系统java_第4页
图书管理系统java_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.管理员登陆

此模块重要是运用MentBar添加菜单条,运用Menu和Menuitem添加菜单和菜单日勺各

个参数,通过事件ActionEvent可以实现进入各个模块如管理日志、管理员添加、管理员切

换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、偿还书

籍、借阅超时及退出口勺功能。

2.管理日志

此模块可以清晰时显示出书籍借阅与偿还H勺信息,包括书号、书名、图书证号、借/还、

操作日期、已付款额。读者可以通过此模块实现日勺功能清晰日勺理解图书被借阅和偿还日勺详细

信息,从而给读者带来了诸多以便。

3.管理员添加功能简介

此模块功能是增长新管理员的登陆帐户。在图书馆管理系统中必须有每一种管理者的帐

户让其可以正常进行新图书证日勺办理、借阅书籍和偿还书籍等系统管理因此在管理员功能

模块中增长了管理员添加这个功能。

4.管理员切换

此模块H勺重要功能是进行管理员之间日勺切换,即单击管理员菜单下的管理员切换,就会

退出目前管理员界面,从而出现管理员切换窗口,而另一管理员就可以在管理员切换窗口中

日勺顾客名和密码两栏中通过输入自己日勺顾客名和密码直接进入该系统。

读者管理

1.读者添加

此模块重要口勺实现功能是添加新口勺读者信息,即当有新口勺读者要看查看本图书馆中的书

藉,可以通过此功能实现,当数据库中存在其新信息,即成为本图书馆的新一位读者。其中

信息分别包括图书证号、学生姓名、性别、系别、班级,同步可有三项功能在此处实现,即

添加、重置以及返回。

2.读者修改

此模块重要H勺实现功能对有信息更新H勺读者进行即时修改,以随时更新读者在数据库中

口勺信息。本模块通过图书证号确定读者,可对读者信息口勺新图书证号、学短姓名、性别、系

别、班级。此处可分别实现对该功能的修改、重置、返回。

3.读者查询

此模块重要可对所要理解日勺读者信息。即把读者的信息从数据库调出来,显示在该窗口

中的文字区域。查询方式分别有按图书证查询、按姓名查询、按班级查询、按年级查询,并

可通过办理人对应的关键字,愈加缩小查询范围。此处可实现查询和返回功能。

4.读者删除

此模块可以删除某些不再使用本系统H勺读者资料,从而到达对数据库中的清理,即清除

某些不必要资料,此处有四种删除途径,分别为按图书注号删除、按姓名删除、按班级删除、

安年级删除,并可通过所输入日勺关键字尽快找到所要删除的资料此处可分别实现对该功能

口勺修改、重置、返回。

2.2.3书籍管理模块功能简介

1.新书入库功能简介

此模块重要的实现功能是将新来的图书输入到图书馆管理系统H勺书库当中,其中重要按

如下信息往书库中输入,这部分日勺操作重要是便于书库合理的管理,有助于读者可以对新书有

一种更详细的理解。其中包拈如下信息:新书书号、新书名称、新书出版LI期、新书出版社、

入库数量、编写作者、新书单价。

2.书籍查询功能简介

在图书馆管理系统中书籍查询是最基本的功能,读者可以根据自己的需求来查询想要借

阅的书籍。本系统是用Java应用程序和Access数据库一起开发的其中运用Java来编程实现

功能口勺代码和布置运行界面。界面是由检索项、检索词和显示文本区三个部分构成的顾客根

据自己的需要在检索项中选择自己所要按什么字段进行查询,其中书籍查询功能向检索项中

可以按书号查询、按书名查询、按作者名查询、按出版社查询、按入库时间查询等基础查询。

选择检索项后顾客只要在检索词中添写自己所要查询的内容并确定键确认后顾客要查询的内

容就可以在显示文本区中显示出来。顾客可以根据显示的信息得知自己所要借阅书籍日勺状况。

书籍借阅与偿还功能简介

1.借阅书籍功能简介

此模块重要实现读者可凭有效的图书证号,借阅图书馆内未借出的图书。

输入图书证号后,可显示了该图书证持有者日勺所有信息(包括借书证号、姓名、性别、

所在班级、所属系部、目前可借阅图书个数),供读者确认信息。通过输入有效日勺图书编号,

查询该图书的所有信息(包括书号、书名、作者、出版社、与否借出、价格)。借阅成功后,

将该图书证号、书号、借阅日期、应还日期信息插入到数据库日勺表中进行记录。

2.偿还书籍功能简介

此模块重要实现读者凭所要偿还图书H勺图书证号偿还图书。

输入所要偿还H勺图书编号后,可显示了该图书证持有者口勺所有信息(包括借书证号、姓

名、性别、所在班级、所属系部、目前可借阅图书个数),供读者确认信息。还书成功后,从

数据库中删除该书的借出记录,并修改数据库中的对应信息。

借阅超时功能简介

此模块重要实现显示过期图书口勺信息(包括图书证号、书号、借阅日期、应还日期)提

醒读者还书。

3.1数据库需求分析

l.Admi表,即管理员表,记录了顾客名和密码。

2.Admirz表,即管理日志表,记录了书号、书名、图书证号、借/还、操作日期、己付

款额。

3.book表,即图书表,无录了书号、书名、作者、出版社、入库时间、与否借出、价格。

4.borrowbook即借阅表,记录了图书证号、书号、借阅日期、应还日期。

5.person表,即读者表,记录了图书证号、姓名、性别、系别、班级。

3.2数据库概念构造设计

图书馆管理系统E-R图,如图3-1。

图3-1图书馆管理系统E-R图

3.3数据库表的设计

l.Admi表

表中记录了可以使管理员进入该系统的顾客名及密码,如表3・1所示。

表3-1管理员信息表

字段名称数据类型长度备注

顾客名文本10

密码文本15

2.Admirz表

表中记录借还书日志,月于存下所有对图书操作的记录,以便后来可以翻阅和查找,如

表3-2所示。

表3-2管理日志表

字段名称数据类型长度备注

书号文本10

书名文本15

作者文本15

出版社文本15

入库时间DATE15

已付款额文本10

3.book表

表中记录了库内所有图书的所有资料,如表3-3。

表3-3图书表

字段名称数据类型长度备注

书号文本10

书名文本15

作者文本15

出版社文本15

入库时间DATE15

与否借出文本10

价格文本10

4.person表

表中记录库中所有读者的有关信息,如表3-4所示。

表34读者表

字段名称数据类型长度备注

图书证号文本10

姓名文本15

性别文本15

系别文本15

班级文本15

5.borrowbook表

表内记录了此时图书口勺借阅状况,如表3-5所示。

表3-5借阅表

字段名称数据类型长度备注

图书证号文本10

节号文本15

借阅日期DATE15

应还日期DATE15

第4章系统功能实现

4.1管理员模块功能实现

4.1.1管理员登陆

此模块是整个系统最重要日勺部分,管理员可以通过此模块实现进入其他各个模块如管理

日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、

书籍查询、借阅书籍、偿还书籍、借阅超时及退出的功能。图书管理系统管理员界面如图4-1

所示。

司图书修理系统首理员

管理员俟者岩理书籍省理书籍借阅与归还借阅超时退出

图个1图书管理系统管理员

重要程序代码如下:

publicvoidactionPerfbrmed(ActionEvente)

if(e.getSource()=iteniAdmiqh)

this.dispose();

Inwinin=newIn("系统登陆)

)

if(e.getSource()==iiemic)

(

Systcm.exit(O);

I

if(e.getSource()==itemAdmixj)

{

CreatAdmicreatAdmi=newCreatAdmi("管理员添加)

)

if(e.getSource()==itemAdmirz)

(

WinTablewintable二newWinTable("管理日志,);

)

if(e.getSource()==itemBookrk)

{

Addlnfyaddlnfy=newAddlnfyO;

if(e.getSource()=itemPersonlr)

Winpersonaddwinperson=newWinpersonadd("读者添力(T);

if(e.getSource()==iteniPersoncx)

(

Winpcrsonscarchwinpcrson=nc\vWinpersonscarch("读者信息查询”);

)

if(e.gctSourcc()==itcniPcrsonxg)

(

Winpersonmodifywinperson=newWinpersonmodify("读者信息修改)

)

if(e.getSource()==iteiTiPersonsc)

(

Winpersondelete\vinperson=newWinpersondelete("读者删除");

}

if(e.getSource()==itemBookcx)

(

Windowjjok=newWindowjjO;

if(e.getSource()==itemchaoshi)

daywin=newday();

)

if(e.getSource()==iteniBorrowjs)

{

Borrowbookwin=newBorrowbook();

)

if(e.getSource()==iteniBorrowhs)

(

Returnbookwin=newReturnbook();

}

)

4.1.2管理日志

此模块通过定义类WinTable继承顶层容器JFrame,再添加一般容器JScrollPane、JpaneL

然后通过BorderLayout布局创立界面,最终重要通过数组运用while循环在连接好的数据库

中查找表Admirz中的内容,从而实现了可以清晰的显示出书籍借阅与偿还信息的功能。管理

日志界面如图4-2所示。

,!□!x|

书号书名图书证号借如愫作日期已付款额

0000001JAV颌程基磁00001借书2009-03-1100:00...0.0

0000003Oracle数Jg库00004借书2009-03-1100:00...0.0

0000001JAVA编程基础00001还书2009-04-1700:00...0.0

0000001JAM,编程基础00001借书2009-04-1800:00...0.0

0000003Oracle数据库00004还书2009-04-1000:00...0.0

0000004C语言00001借书2009-04-1200:00...0.0

0000004C语言00001还书2009-05-2200:00...0.0

0000005受我家园00001借书2009-06-2300:00...0.0

0000003Oracle数据库00001借书2009-06-2300:00...0.0

0000003Oracle数据库00001还书2009-06-2300:00...0.0

图4-2管理日志

重要程序代码如下:

WinTable(Strings)

{

super(s);

try{Class.forName("sun.jdbc.odbc.JdbcO(lbcDriver,');

)

catch(ClassNotFoundExceptione)

{System.ou(.pnntln(,,u+e);

)

try{con=DrivcrManagcr.gctConncction("jdbc:odbc:sun'\"l23","123");

sql=con.createStatement();

rs=sql.executeQuery("SELECT*FROMAdmirz");

while(rs.next())

k++;

)

calch(SQLExceplione)

{System.out.pnntln(n,,+e);

}

try{con=DriverManage匚getConnection("jdbc:odbc:sun","123","123");

sql=con.createStatement();

rs=sql.executeQuery("SELECT*FROMAdmirz");

a=newObject[k][6];

while(rs.next())

(

for(intj=0;j<6;j++)

{

a[i][j]=rs.getString(j+l);

else

I

=rs.getDouble(j+1);

i++;

}

)

con.close();

)

catch(SQLExceptione)

{System.out.println(""+e);

}

table=newJTablc(a,name);

Containercon=ge(ContentPane();

getContentPane().add(newJScrollPane(table),BorderLayout.CENTER);

sctBounds(l20,125,700,500);

setVisible(true);

validate();

addWindowListener(newDisposeListener());

)

)

管理员添加功能实现

功能简介:该程序重要实现管理员的添加,以便于让实行对图书管理员的管理。按照标

签提醒输入信息,然后点击确定按钮。首先判断管理员名文本框中输入的文本信息与否符合

不小于3个字符并不不小于10个字符的规则,假如不符合规则,则提醒错误,假如符合规则,

再到Admi表中进行查询,假如相似则用提醒框提醒错误。若无相似则可注册。但还需要保

证前后两次的密码相似,才能成功注朋,管理员登陆窗口如图4-3所示。

L营理员奉加-l-lx|

洎息

管理员注册成功

确定

图4-3管理员添加成功界面

重要程序代码如下:

publicvoidactionPerformed(ActionEventc)

Stringb=textUser.getText();

Stringd=tcxtPassword1.gctTcxt();

Stringg=textPassword2.getText();

if(c.getSource()==buttonqk)

{textUser.setText(null);

textPassword1.setText(null);

textPassword2.setText(null);

}

if(c.getSource()==buttonEnter||c.getSource()==textPassword2)

if(b.lcngth()<3||b.lcngth()>10)

JOptionPane.showMessageDialog(nun,”顾客名应在3〜10个字符之间");

textUser.setText(null);

)

else

(

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

)

catch(ClassNotFoundExceptione)

{System.out.println(""+c);

}

try(con=DriverManager.getConnection("jdbc:odbc:sun",nl23"J123");

sql=con.createStatement();

rs^sql.executeQueryC'SRLRCT*FROMAdmiWHERE顾客名二"++b+…);

if(rs.next())

(

Stringuser=rs.getString(1);

if(b.equals(user))

(

JOptionPane.showMessageDialog(nuil,n此管理员已被注册警告

",JOptionPane.WARNING_MESSAGE);

else

if(d.equals(g))

sql.executeUpdaleC'INSERTINTOAdmi

VALUES'』”。』“川+b+……+d++")");

this.dispose();

JOptionPanc.showMcssagcDialog(null,”管理员注册成功");

)

elseJOptionPane.showMessageDialog(null,"两次输入密码不一致"J警告

M,JOptionPane.ERROR_MESSAGE):

con.close();

}

catch(SQLExceptione)

{System.out.println(""+e);

)

I)

4.1.4管理员切换

此模块功能是退出目前管理员界面,进入管理员切换窗口,另一顾客可以通过输入自己

口勺顾客名和密码直接进入该系统。但此顾客名和密码都必须与已经连接好的数据库中表Admi

中的顾客名和密码相吻合。管理员切换界面如图4-4所示。

督!管理员切换

用户名:‘阿"

密码:M***|

确定|清空

图4-4管理员切换

重要程序代码如下:

publicvoidwindowClosing(WindowEvente)

{

e.getWindow().dispose();

I

4.2读者管理模块功能实现

4.2.1读者添加

功能简介:添加新的读者,使其可以进入图书系统阅览图书,读者添加如图4-5所示。

图4-5读者添加

重要程序代码如下:

publicvoidactionPerformed(ActionEvente)

if(e.getSource()==button1)//添加

Stringch=textl.getText();

if(ch.length()!=5){

JOptionPane.showMessageDialog(null,ni#$H!jA5位图书证号!”);

textl.setText(null);

)

else{

……//连接数据库

Stringnumber,name,sex,dept,classes,record,insertStr;

number=text1.getText。;

name=text2.getText();

if(box1.getState()==true)

(

sex=box1.getLabel();

)

else

(

sex=box2.getLabel();

}

dept=text3.getText();

classes=text4.getText();

rs=sqLexecuteQuery(nSELECT*FROMpersonWHERE图书证号

=“++number+);

if(rs.next())(

JOptionPane.showMessageDiak)g(null,”比图书证号己存在警告

"JOptionPane.WARNING_MESSAGE);

textl.setText(null);

record=n("+…+number++“,“++name+…+sex+…+dept+m,+,r,"++cl

asses++")”;

insertStr=nINSERTINTOpersonVALUES"record;

sqLexecuteUpdate(insertStr);

JOpiionPane.showMessageDialog(null,"添力Fl成功!");

con.close();

1

4.2.2读者修改

功能简介:对读者需要修改的资料进行重定义,读者信息修改如图4-6所示。

图4-6读者信息修改

重要程序代码如下:

publicvoidactionPerformed(ActionEvente)

if(e.getSource()==button1)〃修改

Stringch=textl.getText();

if(ch.length()!=5){

JOptionPane.showMessageDialog(null,"请输入5位图竹证号!”);

textl.setText(null);

}else{

(

……〃连接数据库

Stringnumber,name,sex,dept,classes,newnum,record,updateStr;

newnum=text5.getText();

number=text1.getText();

name=text2.getText();

if(box1.gctStatc()==truc)

(

sex=boxl.getLabel();

}

else

sex=box2.getLabel();

dept=text3.getText();

classes=text4.getText();

sql=con.createStatement();

rs=sql.executeQuery(,'SELECT*FROMpersonwhere图书证号

="++newnum+);

if(rs.next()){

rs1=sql.executeQucry(,,SELECT*FROMpersonwhere图书证号

=K+"n,+numbcr+);

if(rsl.next()){

JOptionPane.showMessageDialog(null,"此图书证号已存在

警告”,JOptionPane.WARNING_MESSAGE);

text1.setText(null);

}else

I

updateStr="UPDATEpersonSET图书证号二”+…+number+…姓名

=“++name+…性别="++sex+…系别="+…+dept+…班级

="+…+classes+…+”WHERE图书证号二”+…+newnum+;

sql.executeUpdate(updateSlr);

JOplionPane.showMessagcDialog(nuH,"修改成功!,);

I

else

JOpiionPane.showMessageDialog(nuHJ查无此人!");

〃连接数据库

con.close();

}

4.2.3读者查询

功能简介:可以对数据库中已经有的读者信息进行查询。读者查询如图4-7。

图4-7读者信息查询

重要程序代码如下:

publicvoidactionPerformed(ActionEvente)

if(e.getSource()==button1||e.getSource()==text){//查询

area.setText(null);

if((str=="按图书证号查询”st尸=null)&&text.getText()!=null)

(

booleanflag=irue,f=uue;

Stringnum=tcxt.getText();

……//连接数据库

rs=sq!.cxccutcQucry("SELECT*FROMpersonwhere图书证号="+""'+111101+""');

while(rs.next())

(

f二false;

Stringnumber=rs.getString("图书证号");

Stringname=rs.getString("姓名");

Stringsex=rs.getString("性别");

Stringdept二rs.getString(“系别");

Stringclasses=rs.getString("班级");

if(flag){

area.append("图书证号为"+num+"的学生信息如下:");

flag二false;

area.append("\n姓名:"+name+"性别:"+sex+”系别:"+dept+"

班级:"+classes+"\n");

)

if(f){areaappend("查无此人!");}

}

catch(SQLExceptionc)

(

Systcm.out.println(c);

)

)

4.2.4读者删除

功能简介:删除数据库中已经有信息。读者删除如图4-8所示。

图4-8读者删除

重要程序代码如下:

if(e.getSource()==butlon1){//删除

area.setText(null);

if((str=="按图书证号删除"str==null)&&text.getText()!=null){

Stringnum=text.getText();

try

(

Class.forName(nsun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundExceptionc)

(

System.out.println(""+c);

)

〃连接数据库

rs=sql.executeQuery("SELECT*FROMpersonwhere图书证号="+""'+num+""');

if(rs.next()){

area.append("该信息已删除!");

)

StringdelStr=nDELETEFROMpersonWHERE图书证号二“++num+;

sql.executeQuery(dclStr);

con.close();

catch(SQLExceptionc)

System.out.println(c);

)

1

4.3书籍管理模块功能实现

新书入库实现

功能简介:此界面重要完毕口勺功能是往数据库book表中添加新书的记录,在book表中可

查看最新的记录。在新书信息输入的过程中,会出现某些异常处理,如某个字段的信息没有

填写;新书信息输入字段的过程中,输入的字段类型与给定口勺字段类型与输入不匹配(如:

货币、日期);输入的信息长度超过给定的字段长度等。假如填写的内容对日勺则可以成功将新

书添加入库,新书入库窗口如图4-9所示。

图4-9添加新书入库界面

重要程序代码如下:

publicvoidactionPerfbrmed(ActionEventc)

{if(c.getSource()==button2)

{this.dispose();}

if(c.getSource()==button1)

(

……//连接数据库

rs=stm.executeQuery(nselect书号frombookwhere书号+textFieldl.getText()+"”');

if(rs.ncxt())

I

JOptionPane.showMessageDialog(nuH,"此书号已存在!","警告

"JOptionPane.WARNING_MESSAGE);

return;

)

floatm;

Siringstrl,slr2,str3,str4,str6,str7,str8,str9,str10;

strl=textField1.getText();

strlO=”未借出”;

m=Float.parseFloat(str9);

str="("+…+strl+“?”+str3+“?”+str8+”'「+str6+”',”'+str7+”'J'+strlO+”'J+m+“)”;

Stringinsert="INSERTINTObook(书号,书名,作者,出版社,入库时间,与

否借出,价格)VALUESu+str;

stm.executeUpdate(insert);

textFieldl.setText(H");

JOp【ionPane.showMessageDialog(null,“增长佶息成功!”);

con.close();

)

catch(Exc叩tione){JOptionPane.showMessageDialog(nuH,”请认真检查各项!

然后重试二“异常警告”,

JOptionPane.WARNING_MESSAGE);

)

1

查询功能实现

功能简介:本系统包括两项一是检索项令一种是检索词,在检索项中顾客可以根据自己

口勺需求来选择所要查询的项目并在检索词中添写自己所要查询的内容。本系统副带四个按钮:

确定、取消、查看全库,该图书馆管理系统的查询界面如图4-10所示。

图4-10查询系统界面

在该系统中为了顾客使月以便还设有查看全库一项,顾客可以通过这一功能来查看全库

日勺图书,所查询的内容将在下方的文本区中显示,其界面4-11所示。

小皿彳史JIJIF亭一

9*由

厘:;三

储对*'段

图4-11查看全库信息

使用检索词必须得满足一定的查询条件才可以执行,顾客必须得在检索项中选择查询方

式并添好检索词才可查询否则系统会显示未找到您要查找日勺内容并给以提醒,如图4-12所示。

AJQJ》IJIV4toCi-fu冬Wt

图4-12检索项按书号查询

重要程序代码如下:

publicvoidilemStateChanged(ItemEvente)

area.setText(null);

Stringname=choicel.getSelectedItem();

area.叩pend("请您在检索项中输入您要查找口勺内容:”);

)

publicvoidactionPerformed(ActionEvente)

(

if(e.getSource()==button2)//取消键

{text1.sctTcxt(null);)

elseif(e.getSource()==button3)//返回键

{this.dispose();}

elseif(e.getSource()==button4)//查看全库

{Connectioncon;

Statementsql;

ResultSetrs;

try//建立数据源

{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}

catch(ClassNotFoundExccptionc)

{System.out.println(',"+c);)

try

con=DriverManager.getConnection("jdbc:odbc:sun",,,H,WH);

sql=con.createStatement();

rs=sql.execuleQuery("select*frombook");

while(rs.nexi())

Stringbookname=rs.getString("书名”);

Stringauthor=rs.getString("作者");

Stringchubanshc=rs.gctString("出版社");

Stringbookno=rs.getString("书号");

Stringdata=rs.getString("入库时间");

Stringyesomo=rs.getString("与否借出”);

area.append("\n书号:"-bookno);

area.append(M书名:“+bookname);

area.append("作者:"+authcr);

arca.appcnd("出版社:"+chubanshc);

area.append("\n入库时间:"+data);

area.append("与否借出:“yesorno);

1

con.close();

1

catch(SQLExccptionc)

{System.out.printlnC^'+c);)

I

4.4书籍借阅与偿还功能实现

441借阅书籍功能实现

输入图书证号“0001”后点击查看按钮,可显示该读者信息,若输入图书证号错误,点击

查看按钮则会弹出借书证错误对话框,如图4-13所示。输入图书编号“0000003”按回车键,

可显示该图书信息,若输入图书编号错误,按回车键则会弹出图书编号错误对话框,如图4-14

所示。点击借阅按钮则会弹出图书借阅成功对话框。借阅书籍功能日勺详细实现如图4-15所示。

图4-13借书证错误

图4-14图书编号错误

日出书微阈山

圉书班号:|00001图书缜号10000003ED书证3E本信息直卷

图书^号00001

姓名张为区

耨耦行基Oracl.»JgJT住若白茫茫出版社茶北大学是否借出耒怆出-3

价格18.8。0一

性利女

所在也侬072

所膈系部信JB工程不

当讹可惜阿SJ书4本

图415借阅书籍

重要程序代码如下:

publicvoidactionPerfonned(ActionEvente)

{

if(e.getSource()==tj)

(

if(!tscard.getText().equals(null)&&!lsid.getTexl().equals(null))

(

Stringstrl,str2;

strl=tsid.gctTcxt();

str2=tscard.getText();

try

Class.forName(nsun.jdbc.odbc.JdbcOdbcDriver");

)

catch(ClassNotFoundExceptionc)

(

Sysiem.out.println(""+c);

)

……〃连接数据库

rs=sql.executeQuery("SELECT*FROMpersonwhere图竹证号

“++str2+);

StringIsI=null,ls2=null,ls3=null;

intisl=();

if(rs.next())

(

Is2=str2;

)

con.close();

……〃连接数据库

rs=sql.cxccuteQucty("SELECT*FROMbookwhere书号

“++strl+…);

if(rs.next())

if(rs.getString("与否借出)equals("未借出”))

ls1=strl;

ls3=rs.getSlring("书名)

)

con.close();

……〃连接数据库

rs=sql.executeQuery(',SELECTcount(书号)FROMbcrrowbookwhere图书

证号二"++strl+);

rs.next();

is1=rs.getlnt(l);

con.close();

……〃连接数据库

if(lsl=strl&&ls2=str2&&is1<5)

{Dateda=ncwDatc();

inty=da.getYear()+1900;

intm=da.gctMonth()+l;

intd=da.getDate();

String

jyrq=Stnng.valueOf(y)+"-',+String.valueOf(m)+,'-"4-String.valueOf(d);

……〃计算借阅时间

String

yhrq=String.valueOf(y)+"-"+String.valueOf(m)+,,-,'+String.valueOf(d);

Stringinsertstr="INSERTINTOborrowbookVALUES

(“'+ls2+”'J'+lsl+"?"+jyrq+”r+yhrq+”')”;

Siringupdatesir="UPDATEbookSET与否借出二'借出,WHERE

书号二”+…+strl+;

Stringinsertstr2=HINSERTINTOAdmirz

VALUES。”+ls1+”',"'+ls3+”',”'+ls2+"X"f5'J'+jyrq+"',O)”;

sql.cxccutcUpdatc(inscrtstr);

sql.executeUpdate(insertstr2);

sql.executeUpdate(updatestr);

JOptionPane.showMessageDialog(this,"借阅成功请在"+yhrq+"之前退还,否则将支付滞纳金

;图书借阅成功M,JOptionPane.WARNING_MESSAGE);

tsid.setText(null);

tscard.setText(null);

)

偿还书籍功能实现

输入图书编号“0000003”点击回车键,则该界面右侧会显示借书者日勺信息,若图书编号

错误则会弹出图书编号错告对话框,如图4-16所示。点击还书按钮会弹出偿还成功对话框。

偿还书籍功能的详细实现,如图4/7所示。

4-16图书编号错误

日妇还图书

西书籍号|0000003还书图书证基本信息查看

图书证号:00001

姓名张如风

性别:女

所在班级:072

所属系演信息工程系

二j

4-I7偿还书籍

重要程序代码如下:

publicvoidactionPcrformcd(ActionEvcnte)

(

if(e.getSource()==tj)

I

Stringnum=tsid.getText();

intjc;

try

Class.forName("sun.jdbc.odbc.JdbcOdbcDrivern);

)

catch(ClassNotFoundExceptionc)

(

Sysiem.oui.println(""+c);

)

try

{Stringtsz=null;

……〃连接数据库

rs=sql.executeQuery

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论