0

私は初心者です。私のプロジェクトでは、Java と Mysql を使用しています。コードを実行中にエラーが発生しました。そのコードは以下に言及しています

<%
       ResultSet rs=s.fetchtask(userid);
       while(rs.next())
       {
%> 
         <table border="1">
             <tr><td>
              <% int qnid=(rs.getInt("question_id")); 
                 ResultSet rs1=s.fetchqn(qnid);
                 String qn=rs1.getString("question");
              %> 
                  <% out.println(qn);%>
               </td></tr>
         </table>
      <%
          }
       %> 

しかし、2番目のフェッチを使用していないときは機能します

<%
       ResultSet rs=s.fetchtask(userid);
       while(rs.next())
       {
%> 
         <table border="1">
             <tr><td>
              <% int qnid=(rs.getInt("question_id"));     
              %> 
                  <% out.println(qnid);%>
               </td></tr>
         </table>
      <%
          }
       %> 

このコードを使用している場合、問題はありません。誰か助けてください。エラー表示は

org.apache.jasper.JasperException: An exception occurred processing JSP page /setter.jsp at line 142

 139:                        // ResultSet rs1 = st.executeQuery("SELECT * FROM temp_qb  WHERE question_id="+qnid+"");
 140:                         ResultSet rs1=s.fetchqn(qnid);
 141:                           //  ResultSet rs1=s.fetchqn(qnid);
 142:                         String qn=rs1.getString("question");
 143:                          %> 
 144:                          <% //out.println(qn);
 145:                          %>
4

2 に答える 2

0
  • データがあることを確認するために結果セットをチェックしていません。それは例外につながる可能性があります。

先に進むことはほとんどないので、これを試して、まだ同じエラーが発生するかどうかを確認することをお勧めします.

<%
       ResultSet rs=s.fetchtask(userid);
       while(rs.next())
       {
%> 
         <table border="1">
             <tr><td>
              <% int qnid=(rs.getInt("question_id")); 
                 ResultSet rs1=s.fetchqn(qnid);
                 while(rs1.next())
                 { 
                    String qn=rs1.getString("question");
                    out.println(qn);
                 } 
              %>
               </td></tr>
         </table>
<%
       }
%> 
  • また、正しい列名を使用して結果セットからデータを取得していることを確認してください。
  • 使用が終わったら、結果セットとデータベース接続を適切に閉じるように注意してください。

ついに、

  • 何か新しいものを構築する場合は、スクリプトレットを使用しないでください。
于 2013-08-27T19:57:48.820 に答える