public Pet getByName(String name) {
Connection conn=BaseDao.getConnection();
String sql="select id,master_id,name,type_id,love,health,adopt_time,status from pet where name like '%?%'";

PreparedStatement preStmt=null;
ResultSet rs=null;
try {
preStmt= conn.prepareStatement(sql);
preStmt.setString(1, name);  //执行到这里,报索引列出错,应该是sql语句like后面那部分出错,要怎么改呢
rs=preStmt.executeQuery();
//.....省略
}
}
请教,lik后面的语句要怎么写。

解决方案 »

  1.   

     String sql="select id,master_id,name,type_id,love,health,adopt_time,status from pet where name like '%%'";
      
      

  2.   


    String sql="select id,master_id,name,type_id,love,health,adopt_time,status from pet where name like ?";
    preStmt.setString(1, "%" +name+ "%");如果没有其他乱码错误应该可以了
      

  3.   

    写成这样:
    String sql="select id,master_id,name,type_id,love,health,adopt_time,status from pet where name like '%' + ? + '%'";