ResultSet结果集不为空但rs.next()为false,求解。

附代码:HttpSessionsession=request.getSession(true);Stringt_id=(String)session.getAttribu... 附代码:
HttpSession session = request.getSession(true); String t_id = (String) session.getAttribute("t_id");
List<Question> list = new ArrayList<Question>();
String condition = request.getParameter("condition");
String querySql;
if ("".equals(condition)) {
querySql = "select * from question1 where t_id=" + t_id;
} else {
condition = condition.trim();
querySql = "select * from question1 where ( question like '%"+ condition + "%' and t_id =" + t_id+")";
}
System.out.println(querySql);
Connection conn = MyDB.getConnection();
Statement stmt = MyDB.getStatement(conn);
ResultSet rs = MyDB.getResultSet(stmt,querySql);

if("".equals(rs)){
System.out.println( "ResultSet结果集为空!");
}else{
try {
while (rs.next()) {
Question q=new Question(); q.setId(rs.getInt("q_id"));
q.setQuestion(rs.getString("question"));
q.setChoice1(rs.getString("choice1"));
q.setChoice2(rs.getString("choice2"));
q.setChoice3(rs.getString("choice3"));
q.setChoice4(rs.getString("choice4"));
System.out.println(q.getId() + "--" + q.getQuestion() + "--"+ q.getChoice1() + "--" + q.getChoice2() + "--"+ q.getChoice3() + "--" + q.getChoice4() + "--");
list.add(q);
} request.setAttribute("modifyQuestion", list);
request.getRequestDispatcher("/modify.jsp").forward(request,
response);
} catch (SQLException e) {
e.printStackTrace();
}

在MySQL中该SQL语句执行正常
展开
 我来答
SharpMonou
2012-10-10 · TA获得超过152个赞
知道小有建树答主
回答量:145
采纳率:75%
帮助的人:46.7万
展开全部
可能是你的这个
ResultSet rs = MyDB.getResultSet(stmt,querySql);
取得ResultSet 时候出了问题,把你的MyDB类 贴出来看看

还有就是这句 if("".equals(rs)){ rs不是字符串 不能这样判空,要这样写if(rs==null){
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maccter
2012-10-10 · 超过15用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:45.2万
展开全部
if("".equals(rs)){
System.out.println( "ResultSet结果集为空!");
}else{
这句话不能判断resultset里面是否有元素!rs.next()为false就是真的没有数据,你再仔细检查下你的程序,是不是数据库地址不对...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lijie34504
2012-10-10 · TA获得超过168个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:195万
展开全部
你的判断不对,就算rs没有数据也不会等于“”
while(rs.next()){
.....
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式