我想在jsp页面中显示搜索结果。我使用like运算符进行搜索,但我没有得到真正的结果。
st =conn.prepareStatement("select * from books where book_name like ? ");
st.setString(1, "%"+book+"%");
ResultSet rslt = st.executeQuery();
if(rslt.next()){ %>
<h3 align="center">Result Of Your Search </h3>
<table align="center">
<thead>
<tr>
<td>Book Name</td>
</thead>
<tbody>
<% while(rslt.next()){ %>
<tr>
<td><%=rslt.getString("book_name")%></td>
当我在搜索框中编写Java时,我只获得了这个结果:Head First Java, 2nd Edition
,但我在数据库中有另一本名为“Java:图形用户界面”的书
为什么我不能得到真实的结果?
答案 0 :(得分:0)
在显示结果之前,您正在调用next()两次:
if (rslt.next()) {
// so now, you point at the first result
while (rslt.next()) {
// so now, you point at the second result
答案 1 :(得分:0)
请改变条件。你正在使用它开始循环。
或者你可以使用它或以任何其他方式;
if(rslt.next()) {
do {
} while (rslt.next());
}