}
ResultSet rs = Dao.executeQuery(sql);//执行查询 ……//插入数据,关闭连接
对书籍编号进行检测,一般是在操作员输入完书籍编号,并准备输入其他信息时来完成。这是需要新建一个ISBNFFocusListener监听类,该类继承了FocusAdoper类,并实现其中的focusLost,其实现代码如下:
class ISBNFocusListener extends FocusAdapter {
}
public void focusLost(FocusEvent e){ }
if(!Dao.selectBookInfo(ISBN.getText().trim()).isEmpty()){ JOptionPane.showMessageDialog(null, \添加书号重复!\ }
return;
3.5.3 图书信息添加
要添加书籍信息,首先要在Dao中添加一个Insertbook方法,通过该方法来接受用户输入的所有书籍信息,然后执行插入操作。其主要方法如下:
public static int Insertbook(String ISBN,String typeId,String bookname,
String writer,String translator,String publisher,Date date,Double price){ int i=0; try{
String sql=\ tb_bookInfo(ISBN,typeId,bookname,writer,translator,\
\
values('\
\
i=Dao.executeUpdate(sql);//执行插入操作 }
}
……
18
3.5.4 图书修改信息
修改图书信息同保存图书信息非常类似,首先在Dao中添加一个方法Updatebook。通过该方法来接收图书修改表单中提交的书籍信息。其代码如下:
public static int Updatebook(String ISBN,String typeId,String bookname,
String writer,String translator,String publisher,Date date,Double price){ int i=0;//更新记录数
try{ String sql=\
typeId='\
writer='\translator='\
publisher='\
date='\
price=\
i=Dao.executeUpdate(sql);//执行更新 } …… }
修改图书信息,是通过单击修改按钮执行的,上面我们已经为修改按钮注册了一个监听器,其对应的监听器类为UpdateBookActionLinter。下面来实现该监听器类,其实现代码如下:
class UpdateBookActionListener implements ActionListener {
public void actionPerformed(final ActionEvent e) {
int i=Dao.Updatebook(ISBNs, bookTypes, bookNames, writer, translators,publishers,Date.valueOf(pubDates),Double.parseDouble(prices));
if(i==1){//如果返回更新记录数为1,表示修改成功
JOptionPane.showMessageDialog(null, \修改成功\
Object[][]results=getFileStates(Dao.selectBookInfo());//重新获得书籍信息
DefaultTableModel model=new DefaultTableModel();//获得表格模型 table.setModel(model);//设置表格模型
model.setDataVector(results, columnNames);//设置模型数据和列名
19
}
} }
3.6 读者信息管理模块
读者信息管理模块包含两个子模块,分别是读者信息添加和读者信息修改与删除。其中读者信息添加模块用来录入新的读者信息,读者信息修改与删除模块用来修改和删除已有的读者信息。其系统运行界面如图3.5所示。
图3.5 读者信息管理模块运行界面
3.6.1 读者信息添加
要添加读者信息,首先要在Dao中添加一个InsertReader方法,通过该方法来接受用户输入的所有读者信息,然后执行插入操作。其主要方法如下:
public static int InsertReader(String name,String sex,String age,String
identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,String ISBN){ int i=0;
try{String sql=\
tel,keepMoney,zj,zy,bztime,ISBN)values('\identityCard+\,'\
'\
System.out.println(sql);
i=Dao.executeUpdate(sql);//执行插入操作
20
}
…… }
3.6.2 读者信息修改与删除
修改与删除读者信息同保存读者信息非常类似,首先在Dao中添加两个方法UpdateReader及DelReader。通过这两个方法来接收图读者修改表单中提交的读者信息。其主要代码如下:
public static int UpdateReader(String id,String name,String sex,String age,String
identityCard,Date date,String maxNum,String tel,
Double keepMoney,String zj,String zy,Date bztime,String ISBN){ int i=0;
try{String sql=\
name='\
age='\date='\tel='\zj='\
bztime='\
i=Dao.executeUpdate(sql);// 执行更新 }catch(Exception e){ }
Dao.close();//关闭连接
e.printStackTrace();
…… }
public static int DelReader(String ISBN){
int i=0;
try{ String sql=\
//System.out.println(sql); i=Dao.executeUpdate(sql);
21
}catch(Exception e){
e.printStackTrace();
}
Dao.close();//关闭连接
…… }
3.7 图书订购管理模块
图书订购管理模块包含两个子模块,分别是新书订购和验收新书。其中新书订购模块用来录入新的图书信息,验收新书模块用来验收新书信息。其系统运行界面如图3.6和图3.7所示。
图3.6 新书订购管理界面 图3.7 图书验收界面
3.7.1 新书订购管理
要添加新书订购信息,首先要在Dao中添加一个InsertBookOrder方法,通过该方法来接受用户输入的所有新书订购信息,然后执行插入操作。其主要方法如下:
public static int InsertBookOrder(String ISBN,Date date,String number,String
operator,String checkAndAccept,Double zk){
int i=0;
try{String sql=\
tb_order(ISBN,date,number,operator,checkAndAccept,zk) values('\ndAccept+\
i=Dao.executeUpdate(sql);//执行插入
}
22