如何打印 sql table 中的所有值,而不仅仅是第一行
How to print all values from sql table instead of just first row
我有一个名为 "payroll_items" 的 sql table,其中包含三行数据,如您所见。您还可以在下面查看我的代码,它是一个 java servlet,它从数据库中检索数据并以 table 格式显示。但是,正如您在 table 格式中看到的那样,它仅显示 sql table(SA、养老金等)的第一行,而不显示其他两行(ST 和 WA)。如何以 table 格式显示所有值?它只显示第一行。
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/payroll_system", "root", "");
PreparedStatement ps = con.prepareStatement("select ItemCode, ItemName, ItemDescription, Rate from payroll_system.payroll_items");
ResultSet rs = ps.executeQuery();
st = rs.next();
if(st) {
out.println("<tr>");
out.println("<td><h3>Item Code</h3></td>");
out.println("<td><h3>Item Name</td></h3>");
out.println("<td><h3>Item Description</h3></td>");
out.println("<td><h3>Rate</h3></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>"+ rs.getString("ItemCode")+"</td>");
out.println("<td>"+ rs.getString("ItemName")+"</td>");
out.println("<td>"+ rs.getString("ItemDescription")+"</td>");
out.println("<td>"+ rs.getString("Rate")+"</td>");
out.println("</tr>");
迭代ResultSet
。您忘记在 ResultSet
中添加查询
ResultSet rs = ps.executeQuery("select ItemCode, ItemName, ItemDescription, Rate from payroll_system.payroll_items");
while (rs.next()) {
out.println("<tr>");
out.println("<td>"+ rs.getString("ItemCode")+"</td>");
out.println("<td>"+ rs.getString("ItemName")+"</td>");
out.println("<td>"+ rs.getString("ItemDescription")+"</td>");
out.println("<td>"+ rs.getString("Rate")+"</td>");
out.println("</tr>");
}
在您的情况下,结果集有 3 个索引,您应该使用
打印所有索引
while (rs.next()) {
out.println("<td>"+ rs.getString("ItemCode")+"</td>");
out.println("<td>"+ rs.getString("ItemName")+"</td>");
out.println("<td>"+ rs.getString("ItemDescription")+"</td>");
out.println("<td>"+ rs.getString("Rate")+"</td>");
}
我有一个名为 "payroll_items" 的 sql table,其中包含三行数据,如您所见。您还可以在下面查看我的代码,它是一个 java servlet,它从数据库中检索数据并以 table 格式显示。但是,正如您在 table 格式中看到的那样,它仅显示 sql table(SA、养老金等)的第一行,而不显示其他两行(ST 和 WA)。如何以 table 格式显示所有值?它只显示第一行。
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/payroll_system", "root", "");
PreparedStatement ps = con.prepareStatement("select ItemCode, ItemName, ItemDescription, Rate from payroll_system.payroll_items");
ResultSet rs = ps.executeQuery();
st = rs.next();
if(st) {
out.println("<tr>");
out.println("<td><h3>Item Code</h3></td>");
out.println("<td><h3>Item Name</td></h3>");
out.println("<td><h3>Item Description</h3></td>");
out.println("<td><h3>Rate</h3></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>"+ rs.getString("ItemCode")+"</td>");
out.println("<td>"+ rs.getString("ItemName")+"</td>");
out.println("<td>"+ rs.getString("ItemDescription")+"</td>");
out.println("<td>"+ rs.getString("Rate")+"</td>");
out.println("</tr>");
迭代ResultSet
。您忘记在 ResultSet
ResultSet rs = ps.executeQuery("select ItemCode, ItemName, ItemDescription, Rate from payroll_system.payroll_items");
while (rs.next()) {
out.println("<tr>");
out.println("<td>"+ rs.getString("ItemCode")+"</td>");
out.println("<td>"+ rs.getString("ItemName")+"</td>");
out.println("<td>"+ rs.getString("ItemDescription")+"</td>");
out.println("<td>"+ rs.getString("Rate")+"</td>");
out.println("</tr>");
}
在您的情况下,结果集有 3 个索引,您应该使用
打印所有索引while (rs.next()) {
out.println("<td>"+ rs.getString("ItemCode")+"</td>");
out.println("<td>"+ rs.getString("ItemName")+"</td>");
out.println("<td>"+ rs.getString("ItemDescription")+"</td>");
out.println("<td>"+ rs.getString("Rate")+"</td>");
}