以下是我的错误的地方(全部代码在附件里) 
我引用的的方法原体是 
public ResultSet executeQuery(String sql) throws Exception 
{ try 

Class.forName(driverClass); 
conn=DriverManager.getConnection(url,username,password); 
Statement stmt=conn.createStatement(); 
rs=stmt.executeQuery(sql); 

catch(SQLException ex) 

System.err.println("sql_data.executeQuery:"+ex.getMessage()); 

return rs; 

具体实现的核心是 
<% 
Sql mysql=new Sql(); 
ResultSet rs=mysql.executeQuery("select sno from student"); 
while(rs.next()){ 
//out.println(""+rs.getInt(1)+""); } %> 
出错信息如下 
org.apache.jasper.JasperException: An exception occurred processing JSP page /MyJsp.jsp at line 27 24: <% 
25: Sql mysql=new Sql(); 
26: mysql.executeQuery("select sno from student"); 
27: while(rs.next()){ 
28: //out.println(""+rs.getInt(1)+""); 
29: 
30: } %> 本人菜鸟,望各位大虾赐教!! 

解决方案 »

  1.   

    你在Sql类是否能得到connection?看你那个方法,怎么没有传数据库的用户名和密码啊?
    如果没有用户名和密码那么得不到connection,你的rs就没办法得到结果集了。
      

  2.   

    类如下,有密码
    package com.fox;
    import java.sql.*;public class Sql{
    String driverClass="com.mysql.jdbc.Driver";
    String url="jdbc:mysql://localhost:3306/student_course";
    String username = "root";
    String password = "";
     Connection conn=null;
     ResultSet rs=null; public Sql()
     {
     try{
     Class.forName(driverClass);
     }
     catch(java.lang.ClassNotFoundException e)
     {
     System.err.println("sql_data():"+e.getMessage());
     }
     } public void executeInsert(String sql)
     {
     try
     {
     conn=DriverManager.getConnection(url,username,password);
     Statement stmt=conn.createStatement();
     stmt.execute(sql);
     }
     catch(SQLException ex)
     {
     System.err.println("sql_data.executeUpdate:"+ex.getMessage());
     }
     } public void executeupdate(String sql)
     {
     try
     {
     conn=DriverManager.getConnection(url,username,password);
     Statement stmt=conn.createStatement();
     stmt.executeUpdate(sql);
     }
     catch(SQLException ex)
     {
     System.err.println("sql_data.executeUpdate:"+ex.getMessage());
     }
     } public ResultSet executeQuery(String sql) throws Exception
     { try
     {
     Class.forName(driverClass);
     conn=DriverManager.getConnection(url,username,password);
     Statement stmt=conn.createStatement();
     rs=stmt.executeQuery(sql);
     }
     catch(SQLException ex)
     {
     System.err.println("sql_data.executeQuery:"+ex.getMessage());
     }
     return rs;
     } public void executeDelete(String sql)
     {
     try
     {
     conn=DriverManager.getConnection(url,username,password);
     Statement stmt=conn.createStatement();
     stmt.executeUpdate(sql);
     }
     catch(SQLException ex)
     {
     System.err.println("sql_data.executeDelete:"+ex.getMessage());
     }
     }
    }