resultset.next返回true之后while(resultset.next)代码块不执行

penglian234 2015-12-01 08:26:01
resultSet = ConnectSelect.conn_mysql(sql1, connection, statement,
resultSet);
System.out.println("resultSet.next():"+resultSet.next());
while (resultSet.next()) {
System.out.println("1111111111111");
object = new JSONObject();
object.put("result", "success");
object.put("username", resultSet.getString("username"));
object.put("sex", resultSet.getString("sex"));
object.put("subject", resultSet.getString("subject"));
object.put("evaluate", resultSet.getString("evaluate"));
object.put("introduction", resultSet.getString("introduction"));
object.put("image", resultSet.getString("image"));
object.put("city", resultSet.getString("city"));
jsonArray.add(object);
}
//resultset.next()打印出的为true,while里面的内容不执行
...全文
216 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
加权不平权 2015-12-02
  • 打赏
  • 举报
回复
那是因为你查到的结果集里只有一条数据,使用next后,游标会下移一次。再在while里进行判断的时候,结果集则没有数据了。 把你打印的语句给去掉System.out.println("resultSet.next():"+resultSet.next());即可
penglian234 2015-12-02
  • 打赏
  • 举报
回复
好像这样的!谢谢啊,我去试试。
penglian234 2015-12-01
  • 打赏
  • 举报
回复
我在本地测试的时候是没问题的,把它部署到服务器上就执行不了

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
String Id = request.getParameter("userId");
int userId = Integer.parseInt(Id);
String imageName = request.getParameter("imageName");
// String image = "J:/upload/" + imageName;
String image = "/home/penglian/tools/upload/image/" + imageName;
System.out.println("userId:" + userId);
ResultSet resultSet = null;
Connection connection = null;
Statement statement = null;
try {
JSONArray jsonArray = new JSONArray();
JSONObject object;
String sql1 = "select * from teacher where id in (select teacherId from roborder where studentId="
+ userId
+ " and image="
+ "'"
+ image
+ "'"
+ " order by date desc)";
System.out.println("sql1:"+sql1);
resultSet = ConnectSelect.conn_mysql(sql1, connection, statement,
resultSet);
System.out.println("resultSet.next():"+resultSet.next()); //打印出true
while (resultSet.next()) { //不能执行里面的内容
System.out.println("1111111111111");
object = new JSONObject();
object.put("result", "success");
object.put("username", resultSet.getString("username"));
object.put("sex", resultSet.getString("sex"));
object.put("subject", resultSet.getString("subject"));
object.put("evaluate", resultSet.getString("evaluate"));
object.put("introduction", resultSet.getString("introduction"));
object.put("image", resultSet.getString("image"));
object.put("city", resultSet.getString("city"));
jsonArray.add(object);
}
System.out.println("jsonArray:" + jsonArray);
response.getOutputStream()
.write((jsonArray + "").getBytes("utf-8"));
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (connection != null) {
connection.close();
}
if (statement != null) {
statement.close();
}
if (resultSet != null) {
resultSet.close();
}
connection = null;
statement = null;
resultSet = null;
} catch (SQLException e) {
e.printStackTrace();
}

}
}
javagaorui5944 2015-12-01
  • 打赏
  • 举报
回复
把完整代码贴出来吧

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧