2012-04-20 38 views
0

我正在构建基于Web的铁路票务预定系统。我想使用while循环从数据库中检索所有需要的数据,但是显示其中一个数据,例如带单选按钮的train_no,以便我可以将它传递给下一个jsp。但是在做这件事时,我得到了一个sql异常“未找到数据”。请帮帮我。 下面是代码的一部分...从数据库中检索数据,并使用包含数据值的单选按钮显示它

<%@page import="java.sql.*"%> 
      <%@page import="javax.servlet.*"%> 
      <%@page import="java.io.*"%> 
     <%String s3=String.valueOf(request.getAttribute("s2")); 
     String d3=String.valueOf(request.getAttribute("d2")); 
     String dj3=String.valueOf(request.getAttribute("dj2")); 

     %> 

<% Connection con; 
      PreparedStatement ps,ps1; 
      ResultSet rs; 
try{ 
String driverName="sun.jdbc.odbc.JdbcOdbcDriver"; 
String url="jdbc:odbc:rail"; 
     String username="root"; 
     String password="root"; 
     Class.forName(driverName); 
     con=DriverManager.getConnection(url,username,password); 
     ps=con.prepareStatement("Select * from train_for where source=? and destination=? and doj=?"); 
     ps.setString(1,s3); 
     ps.setString(2,d3); 
     ps.setString(3,dj3); 
     rs=ps.executeQuery(); 
     while(rs.next()) 
      { %> 
      <tr><td><input type="radio" value="<%=rs.getString("train_no")%>" name="rad1"><%=rs.getString("train_no")%></td></tr> 
      <tr><td><%=rs.getString(4)%></td></tr> 
      <tr><td><%=rs.getString(5)%></td></tr> 
      <br><br> 
      <%} 
     } 
catch(Exception e) 
     { 
     out.println(e); 
     } 
      %> 
+0

是你列train_no自动生成的,它已经填充? – mykey 2012-04-21 09:51:08

+0

你能够在数据库本身上执行SQL语句吗?它是否在那里返回行? – doonot 2012-04-22 13:53:38

+0

我解决了这个问题。它在while循环中。我必须首先将从数据库检索的所有数据存储在不同的字符串变量中。 – 2012-04-22 17:16:01

回答

1

这工作得很好.. :)

while(rs.next()) 
     { 
     String no= rs.getString(1); 
     String dt= rs.getString(4); 
     String st= rs.getString(5); 
     %> 

     <input type="radio" name="rad1" value="<%=no%>"/><%=no%> 
     <%=dt%> 
     <%=st%> 
     <br> 

     <%} 
相关问题