错误是在这一段代码~,谁帮我看下,看看是哪里出错?connDB conn=new connDB();
String sql="";
if(request.getParameter("Oaddress")==null||request.getParameter("Oaddress")==null||(request.getParameter("Oaddress")==""||request.getParameter("Oaddress")==""){ sql="select t.Tname,t.Taddress,o.Oaddress,t.Tkind,count(t.Tprice*oi.Onumber) as salemoney from tea t,orders o,order_item oi where oi.Oid=o.Oid and oi.Tid=t.Tid";}
else{String s="select t.Tname,t.Taddress,o.Oaddress,t.Tkind,count(t.Tprice*oi.Onumber) as salemoney from tea t,orders o,order_item oi where oi.Oid=o.Oid and oi.Tid=t.Tid and ";
String Taddress=new String(request.getParameter("Taddress").toString().getBytes("ISO-8859-1"),"GB2312");
String Oaddress=new String(request.getParameter("Oaddress").toString().getBytes("ISO-8859-1"),"GB2312");
String Tkind=request.getParameter("Tkind");
String and=" and ";
sql=s+and+Taddress+and+Oaddress+and+Tkind;}
out.print(sql);TOMCAT报错信息:org.apache.jasper.JasperException: 无法编译JSP
An error occurred at line: 142 in the jsp file: /admi/xiaoshoutj.jsp
Generated servlet error:
Syntax error on token ")", ) expected after this token

解决方案 »

  1.   

    把整条sql语句直接在数据库中运行 看哪里提示报错
    Syntax error on token ")", ) expected after this token
      

  2.   

    会不会是我这样拼接sql语句有问题?
      

  3.   

    兄弟,用StringBuffer来拼SQL吧,你的SQL感觉好乱额,
      

  4.   

    这种情况参数太多,最好使用PreparedStatement来写SQL语句,直接拼接太容易出错
      

  5.   

    ==""不是使用==来判断,使用.equals()
    if(request.getParameter("Oaddress")==null||request.getParameter("Oaddress")==null||(request.getParameter("Oaddress")==""||request.getParameter("Oaddress")==""){ 
    这个if 有错
    在后边多加一个)if(request.getParameter("Oaddress")==null||request.getParameter("Oaddress")==null||(request.getParameter("Oaddress")==""||request.getParameter("Oaddress")=="")  { 
    request.getParameter("Oaddress")经常用到,先把它读到变量里,然后直接使用变量,这样的话就清析很多了