我用JSP+Acess数据库做一个在线考试系统,程序源代码如下:
<%@ page language="java" contentType="text/html; charset=GB2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.lang.*"%>
<jsp:useBean id="wu" class="duo.exam" scope="session"/>
<html>
<head>
<title>考试正在进行之中</title>
</head>
<body>
<p align=center>考号为:<%=session.getAttribute("S_id")%>的<%=session.getAttribute("S_name")%>同学您正在考试之中,请专心作答</p>
<table width="80%" border=1 bordercolor="#ff00ff" cellspacing=1 align="center">
<%
try{
int Max=0;
String sql="select max(id) from tiku ";
ResultSet rs0=wu.executeQuery(sql);
while(rs0.next())
{ Max=rs0.getInt(1);}
Random random=new Random();
for(int j=1;j<=5;j++)
{
int i=random.nextInt(Max);
String sql1="select * from tiku where id='"+i+"'";
ResultSet rs1=wu.executeQuery(sql1);
//此代码整体都调试过的,没有错误,而且随机函数也没有任何错误,但是就是rs1.next()有问题,其返回的结果集为空!可奇怪的是String sql1="select * from tiku where id='"+i+"'";其语句却完全正确,且调试时其也能够正确的得到随机函数产生的随机数,可就是不知道为什么不在rs1.next()时确为空,在调试过过程中,又出现一个问题就是:把String sql1="select * from tiku where id='"+i+"'";改成sql1="select * from tiku where id='5'";确又能够正确的得到一行纪录,请问这错误是出在哪里,但是随机函数确实又没有错,请问哪们高手帮帮忙!!!////
if(rs1.next())
{
int s0=rs1.getInt("id");
String s1=rs1.getString("Question");
String s2=rs1.getString("Keya");
String s3=rs1.getString("Keyb");
String s4=rs1.getString("Keyc");
String s5=rs1.getString("Keyd");
%>
<tr><td ><%=s0%></td>
<td colspan=4><%=s1%></td>
<tr><td width=24%><%=s2%></td>
<td width=24%><%=s3%></td>
<td width=24%><%=s4%></td>
<td width=24%><%=s5%></td>
<td width=4%><select name="select" size=1>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select></td>
<%}}%>
</table>
</body>
</html>
<%}
catch(Exception e)
{System.out.println(e.getMessage()+"error");}
%>
求教?random类的一个无法解释的问题