用try-catch捕获异常,在程序中添加一些输出语句,找到你程序出错的具体位置,否则
不能针对你的问题给出解答!

解决方案 »

  1.   

    这是一个没有数据库驱动程序的报错误.如果你是要连接SQL SERVER的话就要去下载SQL的JDBC驱动,将驱动为.JAR的文件拷入WEB的LIB下
    你在试试吧
    SQL SERVER为三个驱动名分为: msbase.jar  mssqlserver.jar msutil.jar
    ORACLE 为 classes111.jar 我的QQ为:50964024有问提再联系吧
      

  2.   

    楼上的,用odbc桥连也可以,
    楼主,你少加了个左括号:
    con=DriverManager.getConnection(在这里少了个括号)"jdbc:odbc:MydataSource","","");
      

  3.   

    回复人: kingmaxno1(学会飞翔) ( ) 信誉:100  2004-04-22 14:11:00  得分:0 
     
     
      楼上的,用odbc桥连也可以,
    楼主,你少加了个左括号:
    con=DriverManager.getConnection(在这里少了个括号)"jdbc:odbc:MydataSource","","");===================================================我的同学的名字就叫飞翔,哈哈哈哈.....
      

  4.   

    附上源代码(这个是连接数据库的bean)
      package dl;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import java.lang.*;
    import java.sql.*;
    public class userlogin {
    private Connection con = null; 
      private Statement stmt = null;
    private ResultSet rs = null;
    private PreparedStatement pstmt=null; 
    private static String jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver";
    public userlogin() throws Exception
    { }

    public String CheckUser(String username,String pwd) throws SQLException
    {
    String i="false";

    try{
        String sqlstmt="SELECT admin_id FROM AdminInfo WHERE admin_id='"+username+"' AND admin_pwd='"+pwd+"'";
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con=DriverManager.getConnection("jdbc:odbc:DBSource","","");
    stmt=con.createStatement();
    rs=stmt.executeQuery(sqlstmt);
    if(rs!=null&&rs.next())
    {
    i="true";
    }

    }catch(SQLException e)
    {
    System.out.println(new java.util.Date());
    i=e.getMessage();
    }catch(ClassNotFoundException e1){
            i=e1.getMessage();
    }finally{
    if(rs!=null) rs.close();
    if(stmt!=null) stmt.close();
    if(con!=null){con.close();
       con=null;}
    return i;
    }
    }
        
        
        
       
        public String getGrade(String username) throws SQLException
    {
    String Grade="";
    try{
         String sqlstr="select permit_leverl from AdminInfo where admin_id='"+username+"'";

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con=DriverManager.getConnection("jdbc:odbc:DBSource","","");
    pstmt = con.prepareStatement(sqlstr);
    rs = pstmt.executeQuery();
    while(rs!=null && rs.next()){
    Grade = rs.getString("permit_leverl");
    }
    rs.close();
    pstmt.close();
    con.close();
    con=null;
    return Grade; }catch(SQLException e){
    if(rs!=null) rs.close();
    if(pstmt!=null) pstmt.close();
    if(con!=null){con.close();
       con=null;}
    return Grade;
    }catch(ClassNotFoundException e1){
    if(rs!=null) rs.close();
    if(pstmt!=null) pstmt.close();
    if(con!=null){con.close();
       con=null;}
    return Grade;
    }
    }

    }
      

  5.   

    这个是jsp调用上面bean的源代码:
    <%@ page language="java"%>
    <%@ page import = "java.util.*" %>
    <%@ page import = "java.sql.*" %>
    <%@ page import = "java.util.*" %>
    <%@ page import = "java.sql.*" %>
    <%@ page import = "java.text.*" %>
    <%@ page contentType="text/html; charset=GB2312" %>
    <jsp:useBean id="UserLogin" class="dl.userlogin" scope="application"/>
    <%String Grade;
    String result="";
    String usern="liyiping";
    String pwd="111111";result=UserLogin.CheckUser(usern,pwd);
    Grade=UserLogin.getGrade(usern);
    %><%= result %> <%= Grade %> 
      

  6.   

    /* 改造了你的这个Bean */
    package dl;//import java.lang.*; //此包下的类是不需要import的.
    import java.io.*;
    import java.sql.*;
    import java.text.*;
    import java.util.*;public class userlogin { // 类名的单词首字母应该大写 ==> UserLogin    private Connection con = null; 
        private Statement stmt = null;  
        private ResultSet rs = null;    
        private PreparedStatement pstmt=null; 
        private static String jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver";    public userlogin() {
            try{
                Class.forName(jdbcDriver);
                con = DriverManager.getConnection("jdbc:odbc:DBSource","","");
                /* DBSource ==> 你在数据源配置中用的数据源名称 */
            }catch(ClassNotFoundException cnfe){
                processException(cnfe);
            }catch(SQLException sqle) {
                processException(sqle);
            }catch(Exception ex) {
                processException(ex);
            }
        }    public String CheckUser(String username,String pwd) { // 方法名首字母应该小写 ==> checkUser
            String i="false";
            try{
                String sqlstmt="SELECT admin_id FROM AdminInfo WHERE admin_id='"+username+"' AND admin_pwd='"+pwd+"'";
                stmt = con.createStatement();
                rs = stmt.executeQuery(sqlstmt);
                if(rs!=null && rs.next()){
                    i="true";
                }
            }catch(SQLException sqle) {
                processException(sqle);
            }catch(Exception ex) {
                processException(ex);
            }finally{
                return i;   
            }
        }    public String getGrade(String username) {
            String Grade="";
            try{
                String sqlstr="select permit_leverl from AdminInfo where admin_id='"+username+"'";
                pstmt = con.prepareStatement(sqlstr);
                rs = pstmt.executeQuery();
                if(rs!=null && rs.next()){
                    Grade = rs.getString("permit_leverl");
                }
            }catch(SQLException sqle) {
                processException(sqle);
            }catch(Exception ex) {
                processException(ex);
            }finally{
                return Grade;
            }
        }    public void close(){ //在使用完这个类的实例后,应该主动调用此方法
            try{
                if(rs!=null) rs.close();
                if(stmt!=null) stmt.close();
                if(pstmt!=null) pstmt.close();
                if(con!=null) con.close();
            }catch(SQLException sqle) {
                processException(sqle);
            }catch(Exception ex) {
                processException(ex);
            }
        }    private void processException(Throwable t){
            System.out.println(new java.util.Date());
            t.printStackTrace();
        }
    }
      

  7.   

    <jsp:useBean id="UserLogin" class="dl.userlogin" scope="page"/>
    scope ==> 这个Bean的生命周期没有必要用application
      

  8.   

    现在的情况是编译后出现java.sql.SQLException: ResultSet is closed
    的错误。
     注释掉Grade=UserLogin.getGrade(usern); 后正常。
     请问是不是bean编写不当?
      

  9.   

    按照的yaray(雅睿,生活在别处)方法后
    上面的情况改了,但是不返回Grade的值,只有显示result的值,这是什么原因?