奇了怪了,下面2条SQL语句在mysql的Query代码输入窗口中都能查询出结果,而在java代码中却只有①能出结果,怎么回事呢?
有2条SQL语句:
① SELECT sId,sName,sAge FROM studentinfo
② SELECT sId,sName,sAge FROM studentinfo WHERE sName LIKE '%李四%'
这2条SQL语句在mysql的Query代码输入窗口中都能查询出结果,而在java代码中却只有①句能出结果,②句查不出记录来。
我的java代码如下:
private static Connection con;
public ArrayList getStudents(String sname){
ArrayList<Student> al = new ArrayList();
//String sql = "SELECT sId,sName,sAge FROM studentinfo"; // ③
String sql = "SELECT sId,sName,sAge FROM studentinfo WHERE sName LIKE '%李四%' "; //④
ResultSet rs = null;
try {
iniDB();
rs = con.createStatement().executeQuery(sql);
while(rs.next()){
Student s = new Student();
s.setsId(rs.getString("sId"));
s.setsName(rs.getString("sName"));
s.setsAge(rs.getInt("sAge"));
al.add(s);
}
}catch (SQLException e) {
e.printStackTrace();
} finally{
closeDB();
}
return al;
}
调用的时候,用③可以查询出数据表中的记录,而用④却不能,怎么回事?请高人解答,分不够,可以加分哦。
[解决办法]
jdbc:mysql://localhost:3306/meeting?characterEncoding=utf-8
把连接数据库后面加上编码再试试!
[解决办法]
你加where 1=1试试,如果能查出来,肯定就是编码问题了。