public void searchBook(String name,String author,String publisher)throws SQLException{
try {
Connect c=new Connect();
c.getConnect();
注意:一开始这里用了if(name!=null) 出现问题,因为string为空内容可能为null \" " 两种可能,为方便起见,判断输入是否为空一律采用if(name.isEmpty())
String sql="select * from djw where '1'='1' ";
if(!name.isEmpty()){
sql+="and name_book like '%"+name+"%' ";
}
if(!author.isEmpty()){
sql+="and author like '%"+author+"%' ";
}
if(!publisher.isEmpty()){
sql+="and publisher like '%"+publisher+"%'";
}
PreparedStatement pstmt=c.getConn().prepareStatement(sql);
ResultSet rs=pstmt.executeQuery(sql);
while(rs.next()){
Book bookForm=new Book();
bookForm.setNameOfBook(rs.getString("name_book"));
bookForm.setAuthor(rs.getString("author"));
bookForm.setPublisher(rs.getString("publisher"));
bookForm.setPlace(rs.getString("place"));
bookForm.setDateOfPub(rs.getString("date_publish"));
bookForm.setIdOfBook(rs.getInt("id_book"));
list.add(bookForm);
}
c.disConnect();
pstmt.close();
rs.close();
}catch(Exception e){
System.out.println("查询失败!");
}