--javabean如下------------------------
package dev;
import java.sql.*;
public class dbpage
{
 private  Connection conn;
 public dbpage() throws SQLException { 
     conn =dev.DBPool.getPool().getConnection();
 }public int getAvailableCount(String tb)throws Exception{
   int ret=0;
   Statement stmt=conn.createStatement();
   String strSql="select count(*) from "+tb+"";
   ResultSet rs1=stmt.executeQuery(strSql);
    if (rs1.next())   { ret=rs1.getInt(1);  }
   if(rs1!=null) try{ rs1.close(); }catch(Exception ex){}
   if(stmt!=null)   try{ stmt.close(); } catch(Exception ex){}
    return ret;
}
 public int getnum(String tb)throws Exception {
    int nm=0;
    Statement stmt=conn.createStatement();
    String strSql="select top 1 * from "+tb+" order by num desc";
    ResultSet rs=stmt.executeQuery(strSql);
    if(rs.next()) { 
      nm=rs.getInt(1);
     // nm=rs.getInt(2); 
    }
    if(rs!=null) try{ rs.close(); }catch(Exception ex){}
    if(stmt!=null)   try{ stmt.close(); } catch(Exception ex){}
     return nm;
   
}
 
}JSP文件调用
<%
int recount=dp.getAvailableCount("group_brow");
int nt=dp.getnum("group_brow");
%>
当执行int nt=dp.getnum("group_brow");报错,注解后不报错.错误代码如下
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: javax.servlet.ServletException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported data conversion.
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause javax.servlet.ServletException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported data conversion.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.count.brow_005fc_jsp._jspService(brow_005fc_jsp.java:212)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported data conversion.
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BaseData.unsupportedConversion(Unknown Source)
com.microsoft.jdbc.base.BaseData.getInteger(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.getInt(Unknown Source)
org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:187)
dev.dbpage.getnum(dbpage.java:28)
org.apache.jsp.count.brow_005fc_jsp._jspService(brow_005fc_jsp.java:77)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

解决方案 »

  1.   

    http://blog.csdn.net/fireinjava/archive/2008/02/19/2104536.aspx
    好像是驱动出了问题,你看看这篇文章
      

  2.   

    String strSql="select top 1 * from "+tb+" order by num desc"; 
        ResultSet rs=stmt.executeQuery(strSql); 
        if(rs.next()) {  
          nm=rs.getInt(1); 
         // nm=rs.getInt(2);  
        } 问题已解决,原因是SQL结果不是整型,用rs.getString(1)取代rs.getint(1)就行了