SQL驱动不能转化为请求的类型。贴代码~~~

解决方案 »

  1.   

    Bean:package toushi;
    import java.sql.*;public class DB_Operator
    {
        String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
        String sConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
        String user = "sa";
        String password = "sa";    Connection conn=null;
        ResultSet rs=null;
        public DB_Operator()
        {
            try{
                Class.forName(sDBDriver);
            }
            catch(java.lang.ClassNotFoundException e)
            {
                System.err.println("DB_Operator():"+e.getMessage());
            }
        }    public ResultSet executeQuery(String sql)
        {
            //rs=null;
            try
            {
                conn=DriverManager.getConnection(sConnStr,user,password);
                Statement stmt=conn.createStatement();
                rs=stmt.executeQuery(sql);
            }
            catch(SQLException ex)
            {
                System.err.println("DB_Operator.executeQuery:"+ex.getMessage());
            }
            return rs;
        }}jsp:<%@ page contentType="text/html; charset=GBK" %>
    <%@ page import="java.sql.*" %>
    <%@ page errorPage="Index_error.jsp" %>
    <html>
    <head>
    <title>
    Index
    </title>
    </head>
    <jsp:useBean id="dB_OperatorId" scope="session" class="toushi.DB_Operator" /><body bgcolor="#ffffff">
    <%
    String sql="select * from authors";
    ResultSet rs=dB_OperatorId.executeQuery(sql);
    while(rs.next()){
        out.println(rs.getInt(1)+" "+rs.getInt(3)+"<br>");
    }
    rs.close();
    %>
    </body>
    </html>
      

  2.   


       你的数据库驱动程序配置好象有问题。   不知道你在JBX中是怎么配的。
      

  3.   


    rs.getInt(1)+" "+rs.getInt(3) 确定你的authors表中第一个和第三个字段是 int 类型的吗?
      

  4.   

        呵呵,楼上正解。数据库中一和三字段都是字符型的。
        楼主应该用 rs.getString();
      

  5.   

    Value can not be converted to requested type建议楼主查查java.sql包的RecordSet接口:getInt(int columnIndex)
    getInt(String columnName)
    getString(int columnIndex)
    getString(String columnName)