0

私のjspには以下のコードがあります。ここでの出力では、行は列として表示され、列は行として表示されます。

ここに画像の説明を入力してください

<%@page import="com.sun.crypto.provider.RSACipher"%>  
<%@include file="DBCon.jsp" %>  
<body><form action="Export1.jsp" method="post">  
<table border="1px"><TR>  
<%  
    ps=con.prepareStatement("Select * from Scope2");  
    rs=ps.executeQuery();  
    ResultSetMetaData rsmd=rs.getMetaData();  
    int NumOfCol=rsmd.getColumnCount();  
for(int i=1;i<=NumOfCol;i++)  
{%></tr>  

<%  
try  
               {  
    ps=con.prepareStatement("Select * from Scope2");  
    rs=ps.executeQuery();  
       while(rs.next()){  

           %>  
                  <td><%=rs.getString(i)%></td>  
           <%  
       }  

}  
catch(Exception e)  
               {  
    out.println(e);  
}}%>  
   </table><table><tr>  
    <input type="Submit" value="Export"></tr></table></form></body> 

出力は画面1と同じですが、出力を画面2と同じにしたいのですが。助けてください。

ありがとう。

4

2 に答える 2

1

各ループ</tr>の最後にあるタグを忘れました。forそのため、フォーマットの問題が発生しています。

そして、以前に取得したものforと同じものを使用できるのに、ループでそのクエリを再度実行するのはなぜですか?ResultSet rs

于 2012-11-07T13:20:00.157 に答える
1

行のフォーマットとループをいじりました。更新されたコードは次のとおりです-

<body><form action="Export1.jsp" method="post">  
<table border="1px">  
<%  
    ps=con.prepareStatement("Select * from Scope2");  
    rs=ps.executeQuery();  
    ResultSetMetaData rsmd=rs.getMetaData();  
    int NumOfCol=rsmd.getColumnCount();  

while(rs.next())  
{%>
<TR>
<%  
try  
     {  
       for(int i=1;i<=NumOfCol;i++){  

           %>  
                  <td><%=rs.getString(i)%></td>  
           <%  
       }  

}  
catch(Exception e)  
{  
    out.println(e);  
}
%></TR><%}%>  

</table><table><tr>  
<input type="Submit" value="Export"></tr></table></form></body>

それが役立つことを願っています。

于 2012-11-07T13:46:05.423 に答える