使用 JSP 从 SQL 显示单个属性值

Posted

技术标签:

【中文标题】使用 JSP 从 SQL 显示单个属性值【英文标题】:Display single attribute value from SQL using JSP 【发布时间】:2016-03-25 22:26:08 【问题描述】:

我已经重用我的分页代码来创建一个产品详细信息页面(仅用于演示)尝试到达book 表内的属性bookPrice,该表具有另一个值为 2 的 PK 属性bookID。简短地说:显示 bookID=2 的书的价格。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.PreparedStatement"  %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>

   <% 
   ResultSet rsDetail = null;
   PreparedStatement psDetail=null;
   Connection conn = null;

    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/book_store","root", "daters");
    String sqlDetail="SELECT * FROM books WHERE bookID=2";
    psDetail=conn.prepareStatement(sqlDetail);
    rsDetail=psDetail.executeQuery();
    %>

<h2> <%=rsDetail.getString("bookPrice")%> </h2>

编译器说错误发生在&lt;h2&gt;标签行

【问题讨论】:

【参考方案1】:

您需要先致电rsDetail.next(),然后才能访问数据。

psDetail=conn.prepareStatement(sqlDetail);
rsDetail=psDetail.executeQuery();
if(rsDetail.next()) // moves to first row
%>

 <h2> <%=rsDetail.getString("bookPrice")%> </h2>

 <%  %>

【讨论】:

我正在考虑,但不知道如何管理。谢谢。 if(rsDetail.next()) 编辑

以上是关于使用 JSP 从 SQL 显示单个属性值的主要内容,如果未能解决你的问题,请参考以下文章

jsp中如何用request对象获取复选框的多个值

在单个 jsp 页面中加载大量记录的性能问题

Javascript 数组显示单个属性的值,但不显示完整数组

SQL:查询以显示每个属性有多少用户(分组)

在jsp中如何实现加一个动态下拉框选择年份,并在当前页面显示相应的月份值?

AngularJS ng Repeat - 使用复选框按单个对象属性筛选列表