<% request.setCharacterEncoding("gb2312");%>
<%
String Recordset__t1 = "0";
if (request.getParameter("items") !=null) {Recordset__t1 = (String)request.getParameter("items");}
%>
<%
String Recordset__t2 = "0";
if (request.getParameter("search")   !=null) {Recordset__t2 = (String)request.getParameter("search")  ;}
%>
<%
Driver DriverRecordset = (Driver)Class.forName(MM_conn_DRIVER).newInstance();
Connection ConnRecordset = DriverManager.getConnection(MM_conn_STRING,MM_conn_USERNAME,MM_conn_PASSWORD);
PreparedStatement StatementRecordset = ConnRecordset.prepareStatement("SELECT * FROM Publisher WHERE ? like ? ORDER BY newsdata DESC");
StatementRecordset.setObject(1, Recordset__t1);
StatementRecordset.setObject(2, "%" + Recordset__t2 + "%");
ResultSet Recordset = StatementRecordset.executeQuery();
boolean Recordset_isEmpty = !Recordset.next();
boolean Recordset_hasData = !Recordset_isEmpty;
Object Recordset_data;
int Recordset_numRows = 0;
%>为什么查不出结果呢?那个sql语句有问题么》应该怎么修改呢

解决方案 »

  1.   

    SELECT * FROM Publisher WHERE Recordset__t1 like "%" + Recordset__t2 + "% ORDER BY newsdata DESC
    这个sql的红色部分替换下数据,到数据库里面去查下。
    查得出数据的话排除sql语句的问题
    如果没有抛异常,排除Driver和Connection的问题Recordset.next()为true时//有结果集时
    Recordset_isEmpty=false//Recordset_isEmpty= !Recordset.next(); 
    Recordset_hasData=true//Recordset_hasData = !Recordset_isEmpty;自己debug下看是不是这样的。
     
      

  2.   

    如果没错误,数据库有数据,这两点你确认的话.那么唯一的错误就是
    StatementRecordset.setObject(1, Recordset__t1); 
    StatementRecordset.setObject(2, "%" + Recordset__t2 + "%"); 传入的参数有问题,导致没有符合条件的记录