mysql 问题 java
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'book.bookclass='2'order by book.Id desc' at line 1
...................................
}else{
sqlStr="select count(*) from book";
}
int rscount=pageSize;
try{
ResultSet rs1=stmt.executeQuery(sqlStr);
if(rs1.next())recordCount=rs1.getInt(1);
rs1.close();
}catch(
SQLException e){
System.out.println(e.getMessage());
return false;
}
if(recordCount<1)
pageCount=0;
else
pageCount=(int)(recordCount-1)/pageSize+1;
if(page<1)
page=1;
else if(page>pageCount)
page=pageCount;
rscount=(int)recordCount%pageSize;
sqlStr="select book.id,book.bookname,book.bookclass,bookclass.classname,"+
"book.author,book.publish,book.bookno,book.content,book.prince,book.amount,"+
"book.Leav_number,book.regtime,book.picture from book ,bookclass "+
"where book.bookclass=bookclass.Id";
if(!classid.equals("")&&keyword.equals("")){
if(page==1)
{
sqlStr=sqlStr+"and book.bookclass='"+classid+"'"+
"order by book.Id desc";
}else{
sqlStr=sqlStr+"and book.bookclass='"+classid+"limit"+
(recordCount-pageSize*page)+","+(recordCount-pageSize*(page-
1));
}
}else if(!keyword.equals("")){
if(page==1){
if(!classid.equals("")){
sqlStr=sqlStr+"and book.Bookclass='"+
classid+"'and(upper(book.bookname)like'%"+
keyword+"%'orupper(book.content)like'%"+
keyword+"%') order by book.Id desc";
}else{
sqlStr=sqlStr+"and(upper(book.bookname)like'%"+
keyword+"%'orupper(book.content)like'%"+
keyword+"%') order by book.Id desc";
}
}else{
if(!classid.equals("")){
sqlStr=sqlStr+"andbook.Bookclass='"+
classid+"'and(upper(book.bookname)like'%"+
keyword+"%'orupper(book.content)like'%"+
keyword+"%')limit"+(recordCount-pageSize*page)+","+
(recordCount-pageSize*(page-1));
}else{
sqlStr=sqlStr+"and(upper(book.bookname)like'%"+
keyword+"%'orupper(book.content)like'%"+
keyword+"%')limit"+(recordCount-pageSize*page)+","+
(recordCount-pageSize*(page-1));
}
}