我写了一个连接数据库的类,里面封装了一些QUERY操作,但实际使用中,无论是CONN还是调用过程中,均报NULLPOINTEXCEPTION。请帮我看一下哪里出错了。连接数据库并封装QUERY的类DBConn.java源码如下:
public Connection connect() {
try {
Class.forName("org.gjt.mm.mysql.driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/nicoa?user=root&password=&useUnicode=true&characterEncoding=UTF-8");
stmt = conn.createStatement();
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return conn;
}

            public ResultSet selectQuery(String SQLQuery) {
this.SQLQuery = SQLQuery;
try {
conn=this.connect();
stmt = conn.createStatement();
rs = stmt.executeQuery(SQLQuery);
} catch (Exception e) {
e.pring........
}
return rs;
}
在调用的时候,我是这么写的:(在servlet中调用)
        DBConn dbconn=new DBConn()
                mysql.connect();
     String sql = "select password from root passport ";
     ResultSet rs = dbconn.selectQuery(sql);
     rs.next();
谢谢。

解决方案 »

  1.   

    加上package 然后import 明白么??
      

  2.   

    我加了package了,也import,但是都不行。我认为那些是常规代码,就没有把它贴出来。
      

  3.   

    问题找到了。不是程序问题,而是数据库问题。使用JBOSS一调就看出来了,是数据库配置问题。谢谢。
      

  4.   

    我测度了一下楼主的方法没有任何问题:
    代码如下:message,表是我建的。
    //import com.microsoft.jdbc.sqlserver.SQLServerDriver;
    import oracle.jdbc.driver.OracleDriver;
    import java.sql.*;
    import java.util.*;public class MessageBean1
    {
    //获得数据库连接。
        public static void main(String[] args)
       { 
           //连接数据库
            Connection con =null;
        String CLASSFORNAME="oracle.jdbc.driver.OracleDriver";
        String SERVANDDB="jdbc:oracle:thin:@datacenterpc2:1521:phfund";
        String USER="phfund";
        String PWD="phfund"; 
        try
        {
         Class.forName(CLASSFORNAME).newInstance();
    con = DriverManager.getConnection(SERVANDDB,USER,PWD);
    }
    catch(Exception e)
    {
    System.out.println(e.getMessage());
    e.printStackTrace();
    }
    //打印数据
    try
    {
    Statement stm=con.createStatement();
    ResultSet result=stm.executeQuery("select count(*) from message");
    int message_count=0;
    if(result.next())
    {
    message_count=result.getInt(1);
    System.out.println(message_count+" 条数据");
    result.close();
    }
    if(message_count>0)
    {
    result=stm.executeQuery("select * from message order by ms_date desc");

    while(result.next())

    System.out.print(result.getString("ms_title")+"   ");
    System.out.print(result.getString("ms_name")+"   ");
    System.out.print(result.getString("ms_mail")+"   ");
    System.out.print(result.getString("ms_content")+"   ");
    System.out.println(result.getDate("ms_date")+"   ");
    }
    result.close();
    stm.close();
    }

    con.close();

    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }
    }