我觉得你的BEAN没有问题,和数据库操作没有任何问题,java.lang.NoSuchMethodError由此可以看出,应该其它地方的错误,out.println(RS.getString("Content"));这里你用了out.println();而你没有导出java.io.*,因为out.println()方法是在这个包中的。
在你JSP文件头部加<%@ page import="java.io.*"%>问题应该能解决。

解决方案 »

  1.   

    如果要把sql写道bean中需要写两个类,一个在jsp中得到标志,进行sql设置,然后在这个类中设置sql,然后再传到下一个类中,并把游标返回,这样作好处是,遇到修改时不会对一个类进行繁琐的修改
      

  2.   

    在jsp中该如何调用?请给个例子好吗?
    我用<%=RS.getString("Content")%>
    还是一样的错误提示。
      

  3.   

    可以将bean中的方法写成静态的
    public static ResultSet executeQuery()
    {}在JSP文件中
    <%@ page language="java" import="DBBeans.Sql_data">
    <%
    java.sql.ResutlSet rs = Sql_data.executeQuery();
    out.println(rs.getString("Content"));
    %>
      

  4.   

    sql="select * from Log";这句前加个 String sql="select * from Log";
    这样试一下
      

  5.   

    可能是因为在executeQuery未定义rs。ResultSet rs=null;
    看看。
      

  6.   

    你需要封装bean
    在bean里最开始加入
    package wfweb;然后在调用这个bean的文件中,
    <%@ page language="java" import="java.sql.*,wfweb.*" %>那个错误的提示是指找不到你调用的方法,也就是找不到那个bean
      

  7.   

    public static List resultSetToList(ResultSet rs) throws java.sql.SQLException {    if (rs == null) {
          return Collections.EMPTY_LIST;
        }
        ResultSetMetaData md = rs.getMetaData();
        int columnCount = md.getColumnCount();
        List list = new ArrayList();
        Map rowData;
        while (rs.next()) {
          rowData = new HashMap(columnCount);
          for (int i = 1; i <= columnCount; i++) {
           // System.out.println(md.getColumnName(i)+rs.getObject(i));
           // System.out.println(md.getColumnName(i));
            rowData.put(md.getColumnName(i), rs.getObject(i));
          }
          list.add(rowData);
        }
        return list;  }
      

  8.   

    我以前做过一个,你可以从外面传一个SQL进来:
     public Vector getdeliveryinfo(String sql){
        Statement stmt = null;
        Connection conn = null;
        Vector vector = new Vector();
        ResultSet rs = null;
        System.out.println("sql is" + sql);
        try {
          conn = DBConn.getConnection();
          stmt = conn.createStatement();
          rs = stmt.executeQuery(sql);
          while (rs.next()){
            int columncount;
            columncount = rs.getMetaData().getColumnCount();
            Hashtable items = new Hashtable();
            for (int i = 1; i <= columncount; i++) {
              items.put(rs.getMetaData().getColumnName(i).toLowerCase(),
                        rs.getObject(i) == null ? "" : rs.getString(i).toString());
            }          vector.add(items);      }
        }
        catch (Exception ex) {
         ex.printStackTrace();
        }
        finally {
          try {
            if(stmt!=null)
            stmt.close();
            if(conn!=null)
            conn.close();
          }
          catch (Exception ex) {
            ex.printStackTrace();
          }
          return vector;
        }
      

  9.   

    我觉得楼主你的想法应该没有一点问题!修改前需要一个SQL做参数,而修改后不需要!同样都是返回一个结果集!没有任何区别!不可能不行的! 只要是自己认定方法没错,就不要听别人的,因为程序好多时候错误是不是因为思想,而是因为代码的笔误等等,不要轻易放弃自己的想法!