最后的16分了!希望您不要嫌少,帮我一下好么?

HERO2008 2001-09-30 09:09:12

ResultSet rs0=cnstm.executeQuery("select * from problem");
rs0.last();
int rows0=rs0.getRow();
rs0.beforeFirst();
while(rs0.next())
{
out.print("太上老君");
out.print("<table>");
String thh=rs0.getString(1);
out.print("<tr><th colspan=2>"+rs0.getString(2)+"</th><tr>");
out.print("<tr><td>");
/* ResultSet rs1=cnstm.executeQuery("select * from ans where th="+thh);
rs1.last();
int rows1=rs1.getRow();
rs1.beforeFirst();
for(int y=1;y<=rows1;y++)
{
rs1.next();
out.print("<p><input type=radio name=R0 value="+rs1.getString(2)+"></p>");
}
*/////请问为什么上面这段注释一旦加进程序,就会在第二次进入while循环时出错呢?我在那里用rs.next();有什么错呢?谢谢您了!
out.print("</td></tr>");
out.print("<tr><td><input type=submit name=submit0 value=提交></td></tr>");
out.print("</table>");

//rs1.close();
}
...全文
61 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
HERO2008 2001-09-30
  • 打赏
  • 举报
回复
谢谢二位了
我这最后的16分都给你们了!!
  • 打赏
  • 举报
回复
这样试一下吧:
ResultSet rs1=cnstm.executeQuery("select * from ans where th="+thh);
//rs1.last();
//int rows1=rs1.getRow();
//rs1.beforeFirst();
//for(int y=1;y<=rows1;y++)
while(rs1.next())
{
//rs1.next();
out.print("<p><input type=radio name=R0 value="+rs1.getString(2)+"></p>");
}
如果不行,请再建一cnstm,例如cnstm2,使rs0和rs1不使用同一个Statement,即把rs1改成
ResultSet rs1=cnstm2.executeQuery("select * from ans where th="+thh);

jdbc就是这样的,经常有莫名其妙.

另外,不知th字段的datatype是什么,如果不是数字型,建议SQL语句改成
("select * from ans where th='"+thh+"'");
lci21 2001-09-30
  • 打赏
  • 举报
回复
出什么错?怎么不粘出来?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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