更正:
ResultSet RS = DBconn1.executeQuery("SELECT * FROM employee"); 
应该为
ResultSet RS = DBconn1.getResultSet("SELECT * FROM employee"); 

解决方案 »

  1.   

    !!!注意:第一篇回文是我对问题的更正,是因为最初我定义的是executeQuery方法,后来改为getResultSet方法。这不是问题的根本。
      

  2.   

    应该为:" DBconn.getResultSet()", 你的 bean 是 DBconn!
    <%@ page language="java" import="java.sql.*" %>
    <jsp:useBean id="DBconn1" scope="page" class="DBconn" />
    <%
    ResultSet RS = DBconn.getResultSet("SELECT * FROM employee"); 
    RS.close(); 
    %> 
      

  3.   

    就算改成DBconn.getResultSet,还是出同样的错误,还有别的可能吗?
    还有,我并没有用servlet,但错误的第一行就是javax.servlet.ServletException,好像是有关servlet的错,是不是语法上有什么问题?
      

  4.   

    ResultSet rs = DBconn.getResultSet("SELECT * FROM employee"); 
    有配置odbc数据源吗?
      

  5.   

    <jsp:useBean id="DBconn1" scope="page" class="DBconn" />这句里你没写包名,因该是:
    <jsp:useBean id="DBconn1" scope="page" class="包名.DBconn" />
      

  6.   

    如果直接用JSP调用数据库就是正确的,说明ODBC数据源应该没有问题,一调用BEAN就会出问题
    我把DBconn的CLASS和JAVA文件全部考贝到了WEB-INF\classes下,我想这样应该不用写包名。奇怪的是系统并没有给我说哪儿出错了,只是出了很多我看不懂的错误信息(题目中附有错误信息),请大家帮帮忙啊
      

  7.   

    出错信息没完吧,应该有一个Root Exception的。
      

  8.   

    系统提示servlet出错,其实就是jsp出错,因为实际上jsp就是servlet,
    肯定不是数据源或别的数据库问题,因为不是sqlexception,
    你试试
    <%@ import="java.sql.*" %>
    <jsp:useBean id="DBconn1" scope="page" class="DBconn" />
    <%!ResultSet RS;%>
    <%
    RS = DBconn1.getResultSet("SELECT * FROM employee"); 
    RS.close(); 
    %> 
      

  9.   

    你做的这个jsp调用javabean的程序我也做过,但是没有出现你说的这种情况,能够正常运行
      

  10.   

    按照redsnakecao说的修改了以后,还是出一样的错误
    下面的确还有Root  Exception的错误信息。还会有什么可能行呢?
      

  11.   

    可是应该在ResultSet关闭之后才关Connection的啊,这里ResultSet是在JSP里才关闭的,那么Connection应该在哪儿关闭呢?
    我将conn.close()放在了rs  =  stmt.executeQuery(sql); 后或者return  rs; 前面,都不行,出的错误类似。
      

  12.   

    我还编写了一个专门关闭conn的函数,并在JSP中调用,还是不行。出的错都一样
      

  13.   

    只要我将RS.CLOSE()给注释了就没有问题了,可是一旦我调用RS的属性(比如RS.next()),就会出现同样的问题。
    看来是不能调用结果集的属性,这是为什么呢?回答上了再另外送100分!!!!!
      

  14.   

    把你的 javabean打包试试。
    还有我记得javabean得实现java.io.Serializable接口
      

  15.   

    如何打包?我是可以用JAVABEAN的,只是在调用数据库时出了这个错。
      

  16.   

    打包就是不要把你的javabean直接放在应用目录的根目录下。而是给他建立一个独立的目录
    还有你确定你的javabean 可以使用么?看你的出错信息我认为是在你使用你的javabean时出的错误。
      

  17.   

    还有我说的java.io.Serializable接口的实现。在写javabean时是必须的。这点你要知道。
      

  18.   

    还有接口java.io.Serializable在编写javabean时是必须实现的
      

  19.   

    把Root Cause列出来看看,这个对debug很有用。
      

  20.   

    你的类没有打包,package 一下
      

  21.   

    可是我一用RS的属性就出错,我怎么才能打印出来啊?
    我在DBconn中加了一句package classes;不知道对不对,但编译完后还是出 同样的错(我的DBconn.java和DBconn.classes都考贝到了\WEB-INFO\classes\)帮帮忙,谢谢!!!
      

  22.   

    在\WEB-INFO\classes\目录下建立classes目录
    然后把你写的javabean 放到这个目录下。试下一下代码。
    package classes;
    import java.sql.*;
    import java.io.Serializable;public class DBconn implements java.io.Serializable{
      String DBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
      String ConnStr = "jdbc:odbc:sample1";
      Connection conn = null;
      ResultSet rs = null;  public DBconn() {
        try {
        Class.forName(DBDriver);
        }catch(java.lang.ClassNotFoundException e) {
               System.err.println("DBconn (): " + e.getMessage());
        }
      }
    public ResultSet getResultSet(String sql) {
      rs = null;
      try {
        conn = DriverManager.getConnection(ConnStr,"sa","");
        Statement stmt = conn.createStatement();
        rs = stmt.executeQuery(sql);
      }catch(SQLException ex) {
        System.err.println("aq.executeQuery: " + ex.getMessage());
      }
      return rs;
      }
      

  23.   

    还是不行呢,怎么办??
    为什么别人的都行,我的就是不行呢,我运行其他的JSP程序都是对的,包括在JSP中直接调用数据库,也没有问题,只要用到JAVABEAN调用数据库就出错,而且错误信息中又不指明具体错在哪儿,出一堆看不懂的错误,真是头痛。谁能帮帮我啊
      

  24.   

    <jsp:useBean id="DBconn1" scope="page" class="classes.DBconn" />这句话加包的路径了么?