在 JSP 中创建动态 table

Creating dynamic table in JSP

我正在尝试在 Java 中制作电子成绩册。我想将 MarksDescription 的值插入行

<%
                  

try{

connection = DriverManager.getConnection(connectionUrl, userid, password);

statement=connection.createStatement();


String sql ="select Marks from Pitew_Matematyka";

 resultSet = statement.executeQuery(sql);

while(resultSet.next()){
    
            %>

<tr>

<td>

<%=resultSet.getString("Marks") %>

    </td>

<td></td>
<td></td>
<td></td>
<td></td>

<% }

connection.close();
} catch (Exception e) {
e.printStackTrace();
}

      %>



       </tr>

但是当我尝试将 Description 添加到行时,它看起来像这样:

有什么方法可以在第 3 行添加描述吗?

<%
                  

try{

connection = DriverManager.getConnection(connectionUrl, userid, password);

statement=connection.createStatement();


String sql ="select Marks from Pitew_Matematyka";

 resultSet = statement.executeQuery(sql);

while(resultSet.next()){


    
     %>

<tr>

<td>

<%=resultSet.getString("Marks") %>

     </td>

<td>

 <% sql ="select Description from Pitew_Matematyka";   %>

 

 <%=resultSet.getString("Description") %>
 
 </td>


<td></td>
<td></td>
<td></td>

<%}
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
%>

 </tr>

我尝试了很多解决方案,但我尝试的任何解决方案都不起作用。

修改 sql 字符串以在结果集中包含 Description 列。

String sql ="select * from Pitew_Matematyka";

当您使用 sql 从 table 中检索数据时,然后使用 SELECT statement 定义 table 的列名称。如果您使用 *,那么所有列都将被包括在内。

The list of select_expr terms comprises the select list that indicates which columns to retrieve. Terms specify a column or expression or can use *-shorthand:

  • A select list consisting only of a single unqualified * can be used as shorthand to select all columns from all tables.

您不能仅通过更改用于查询的变量 sql 来修改输出。修改查询后,您需要再次执行它以获得新的结果集。而且你不应该这样做,因为你不需要执行任何查询来获取额外的列。但是必须更改第一个查询。

您应该修改 sql 查询。请尝试以下代码。

<%
                  

try{

    connection = DriverManager.getConnection(connectionUrl, userid, password);

    statement=connection.createStatement();


    String sql ="select Marks, Description from Pitew_Matematyka";

    resultSet = statement.executeQuery(sql);

    while(resultSet.next()){

%>
<tr>

  <td>

    <%=resultSet.getString("Marks") %>

  </td>
  <td></td>
  <td>
    <%=resultSet.getString("Description") %>
  </td>
  <td></td>
  <td></td>
</tr>
<%
 }
  connection.close();
  } catch (Exception e) {
    e.printStackTrace();
  }

%>