可怜我这么晚还在搞搞搞搞搞.........555555
jsp文档如下
<%@
page contentType="text/html;charset=gb2312"
language="java"
import="java.sql.*,java.io.*,java.util.* "
%>
<%
request.setCharacterEncoding("gb2312");
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/show","root","");
ResultSet rs;
String sql="Select * from application";
Statement stmt=con.createStatement();
rs=stmt.executeQuery(sql);
if(rs.last())
{out.println(rs.getString(2));
con.close();}
else
out.println("nonono");
}catch(SQLException sqle)
{
out.println("SQLE error");
}
%>
为什么会出现如下错误?????????????????????!!!!!!!!!!!!!!!!!!
org.apache.jasper.JasperException: org.gjt.mm.mysql.ResultSet.last()Z
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve..........
问题点数:81、回复次数:12Top
1 楼huisky(我不是拉登)回复于 2003-08-02 03:20:45 得分 0
现在,我用了
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
但是还是出现了==>
org.apache.jasper.JasperException: org.gjt.mm.mysql.Connection.createStatement(II)Ljava/sql/Statement;
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet...
是不是我的JDBC不支持这种方法阿????!!!!Top
2 楼huisky(我不是拉登)回复于 2003-08-02 03:25:59 得分 0
现在我查到在目录
C:\Tomcat_4.1\common\lib\org\gjt\mm\mysql\
下面的ResultSet.java没有 last()方法???????
Top
3 楼jkit(不再灌水)回复于 2003-08-02 04:48:22 得分 10
偶没用过mysql, 不过它里面没有last()方法也是很正常的.Top
4 楼xqi8(星期八)回复于 2003-08-02 08:33:20 得分 10
帮你顶咯,我学习。。。Top
5 楼xiaofenguser(风雨)回复于 2003-08-02 08:42:29 得分 10
if(rs.last())
>>
if(rs.next()) ???Top
6 楼lsy110(堕落)回复于 2003-08-02 08:43:15 得分 10
呵呵,我还真没有见过用last方法的了,你可以使用:
while (rs.next())
{
rs.getXXX("xxx");
...
}
你其他的东东好像都很正常了!在试试看!有问题再说!Top
7 楼flashroom(找到啦)回复于 2003-08-02 09:05:47 得分 10
第一次肯定会出错
JAVADOC写的很清楚 :Throws:
SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY
第二次可能是的JDBC问题 。Top
8 楼tucw(烦劳)回复于 2003-08-02 09:19:44 得分 10
同意 lsy110(毛毛)Top
9 楼luckyfanjian(luckyfan)回复于 2003-08-02 09:27:54 得分 10
rs.getString(2);有问题,索引必须按顺序写的!
你可以用字段名rs.getString("XXX");Top
10 楼F1in2003(无敌超级赛亚人)回复于 2003-08-02 09:42:29 得分 6
一步步把可疑处注释掉,就会缩小范围Top
11 楼liuxiaobo8590(青云)回复于 2003-08-02 10:21:56 得分 5
if(rs.last())
没有吧。
应该是。
if(re.next()){
}
out.println(rs.getString(2));
out.print(rs.getString("2"));Top
12 楼huisky(我不是拉登)回复于 2003-08-02 15:52:35 得分 0
问题搞定了,,,,我用rs.last()是方法是为了得到结果集里面有几行记录即::>>
rs.last()
return rs.getRow()
rs.last()真的是不能用...我用的是
===========>
while(rs.next())
{m++}
return m;Top




