请看下来代码: .....
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(strSql);
price=rs.getFloat(4); if(rs.next()){
rs.close();
%>
<tr>
<td height="20"><div align="left"><span class="STYLE3">搜索词<span class="STYLE27"><%= textinput %></span>的搜索结果</span><span class="STYLE6">:</span></div></td>
</tr>
</table>
<%
ResultSet rs1=stmt.executeQuery(strSql);
while(rs1.next()){
%>
.....上面代码在编译成servelt时没有错误,但是再次查询却没有任何反应,这是怎么回事?
如果没有price=rs.getFloat(4);则没有这种现象了。
不过我后面要用price的值,应该怎么做?
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(strSql);
price=rs.getFloat(4); if(rs.next()){
rs.close();
%>
<tr>
<td height="20"><div align="left"><span class="STYLE3">搜索词<span class="STYLE27"><%= textinput %></span>的搜索结果</span><span class="STYLE6">:</span></div></td>
</tr>
</table>
<%
ResultSet rs1=stmt.executeQuery(strSql);
while(rs1.next()){
%>
.....上面代码在编译成servelt时没有错误,但是再次查询却没有任何反应,这是怎么回事?
如果没有price=rs.getFloat(4);则没有这种现象了。
不过我后面要用price的值,应该怎么做?
放在rs.next()后面看看行吗!
rs的光标被置于第一行之前。next 方法将光标移动到下一行,即第一行
这就是为什么你的get没有东西出来原因
过什么项目,真的很困难的了. 对了,rs.next()是指向下一条记录,那是不是说它最后一次移动后,EOF()就为真了?
如:
while(rs.next()){
price=rs.getFloat("RealPrice");
...
}
就会有错误, 是不是这个原因? 这样的话,就想每次next()一次,price的值就随之变化就不能做到了?
再次rs.next(), 就返回 false, 这时候你再rs.get(), 就会报异常了!