把这句:sqlRst.next(); 放到:<%=sqlRst.getString("id")%>"><%=sqlRst.getString("id")%>"> 前面:<%
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize +1);
i = 0;
while(i<intPageSize && !sqlRst.isAfterLast()){
sqlRst.next(); //
%>
<%=sqlRst.getString("id")%>"><%=sqlRst.getString("id")%>"> //****问题出现在这里,这什么显示两次或两次以上id就会出错?我想可以是游标的问题,也可能是别的问题,也大家帮忙,谢谢!****
<%
i++;
}
}
%>
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize +1);
i = 0;
while(i<intPageSize && !sqlRst.isAfterLast()){
sqlRst.next(); //
%>
<%=sqlRst.getString("id")%>"><%=sqlRst.getString("id")%>"> //****问题出现在这里,这什么显示两次或两次以上id就会出错?我想可以是游标的问题,也可能是别的问题,也大家帮忙,谢谢!****
<%
i++;
}
}
%>
<%
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize +1);
i = 0;
while(i<intPageSize && !sqlRst.isAfterLast() && sqlRst.next()){
//sqlRst.next(); //
%>
<%=sqlRst.getString("id")%>"><%=sqlRst.getString("id")%>"> //****问题出现在这里,这什么显示两次或两次以上id就会出错?我想可以是游标的问题,也可能是别的问题,也大家帮忙,谢谢!****
<%
i++;
}
}
%>
javax.servlet.ServletException: [Microsoft][ODBC 驱动程序管理器] 无效的游标状态
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:457)
at org.apache.jsp.gsxw_0005flist$jsp._jspService(gsxw_0005flist$jsp.java:265)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)第二个方法可以,但是再加一个字段或显示三或三个以上同一个字段时出错,错误提示如下:
javax.servlet.ServletException: No data found
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:457)
at org.apache.jsp.gsxw_0005flist$jsp._jspService(gsxw_0005flist$jsp.java:273)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.
javax.servlet.ServletException: [Microsoft][ODBC 驱动程序管理器] 无效的游标状态
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:457)
at org.apache.jsp.gsxw_0005flist$jsp._jspService(gsxw_0005flist$jsp.java:265)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)第二个方法可以,但是再加一个字段或显示三或三个以上同一个字段时出错,错误提示如下:
javax.servlet.ServletException: No data found
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:457)
at org.apache.jsp.gsxw_0005flist$jsp._jspService(gsxw_0005flist$jsp.java:273)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.
我估计你使用的 SQL SERVER 数据库!!我的也这样!别说连续两次,
而且,< %=sqlRst.getString(3)%>"><%=sqlRst.getString(1)%>">
就算是一次,先访问后面的字段,再访问前面的字段,都会这样!!改改程序吧!
String aa = sqlRst.getString("id");
<%=aa%><%=aa%>
这样子就不会有问题了!
这种游标只能按字段顺序访问各个子段,按照记录顺序一条一条访问各条记录,而不能违反这个规定,呵呵,很严格:)
也就是
<%
aa=rs.getString("1");
bb=rs.getString("2");
%>
是可以的,
<%
bb=rs.getString("2");
aa=rs.getString("1");
%>
就是错误的。
<%
aa=rs.getString("1");
aa=rs.getString("1");
%>
也是错误的。所以,楼主的问题解决方法就是将结果集的值赋到变量上,然后再操作变量就没有限制了。