java吧 关注:1,297,235贴子:12,832,547
  • 2回复贴,共1

jsp页面出现Invalid operation for the current cursor position

只看楼主收藏回复

做了一个JSP页面,连接SQL2000中的images表,获取其中的缩略图地址,将其在页面上以两行四列的方式在页面上,显示主要代码如下:
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //加载JDBC驱动
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; //test为你的数据库
String user="sa"; //连接数据库的用户名
String pass="sa"; //连接数据库的密码
Connection conn = DriverManager.getConnection(url,user,pass); //数据库连接对象
String sql="select * from images where Uploader='"+sUserName+"'";//创建SQL语句Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet rs=stmt.executeQuery(sql);//执行SQL语句并取得结果集
%>
<%
if(rs.next( ))
{
rs.last(); //将记录指针移动到数据表的最后
int page_count=rs.getRow(); //获取总共的数据数目
int page_size=8; //每次显示8笔纪录
int page_all=(page_count%page_size==0)?(page_count/page_size):(page_count/page_size+1); //计算总共可以显示的页数
int show_page=1;
int page_pos;
String show=request.getParameter("to_page");
if(show==null)show="1";//如果未得到数据则默认为显示第1页的数据
show_page=Integer.parseInt(show); //将String型数据转换换Int型数据
if(show_page>page_all||show_page<1)
show_page=1;page_pos=page_size*(show_page-1)+1; //计算需要显示页的第1个数据在数据表中的位置
rs.absolute(page_pos); //将记录指针移动到需要显示页的第1个数据
%>
<table>
<%
for(int i=1;i<=page_size;i++)
{
%> <td><img src="<%=rs.getString("ImgPath")%>" border="0"></td> <%
rs.next();
} %>
</table>
<%
}
else
{
%> <p align="center" class="STYLE8">您还没上传图片,请<a href="users_upload.jsp">上传图片</a></p> <% }
%>
但运行就会提示org.apache.jasper.JasperException: An exception occurred processing JSP page /users_pic.jsp at line 106;
root cause
javax.servlet.ServletException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.


1楼2013-05-28 16:34回复
    以上代码中没考虑换行的问题,我想将数据库中图片显示在页面上。images表为Name(图片名称),ImgURL(图片源地址)ImgPath(图片缩略图地址) UploadDate(上传日期)Uploader (上传者)


    2楼2013-05-28 16:38
    回复
      2026-02-09 20:10:27
      广告
      不感兴趣
      开通SVIP免广告
      查了很多,很多所示指针空引起,但我的循环后加上了rs.next()啊


      3楼2013-05-28 16:59
      回复