--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)
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)
好像是驱动出了问题,你看看这篇文章
ResultSet rs=stmt.executeQuery(strSql);
if(rs.next()) {
nm=rs.getInt(1);
// nm=rs.getInt(2);
} 问题已解决,原因是SQL结果不是整型,用rs.getString(1)取代rs.getint(1)就行了