2012-04-20 104 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> 

     <%} 
相關問題