用jdbc连接到oracle数据库查询数据. 连接都正常. 打印出来的sql在oracle也能查询出来. 但是在eclipse中却一直提示null
 select * from dual; 都查不出来.  连接肯定正常. 如果把用户密码或驱动有意的更改会正常提示错误. 望高手给解释下  谢谢1

解决方案 »

  1.   

    检查下代码,是不是有问题,有没有得到正确的结果集.... ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716
      

  2.   


    代码都没有动,上午的时候还好使呢. 下午这就查不回来了...public class DaoImpl{ String sDBDriver = "oracle.jdbc.driver.OracleDriver";
        String sConnStr = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
        String user = "dba";  //登录数据库用户名
        String password = "dba";   //登录数据库密码
        Connection connect = null;
        ResultSet rs = null;
        int count = 0;
        /**
         * 构造函数
         */
        public DaoImpl()
        {
         try {
            Class.forName(sDBDriver); //指定JDBC数据库驱动程序
        }
        catch(java.lang.ClassNotFoundException e) {//捕获异常
         e.printStackTrace();
        }
        }
        
        public Connection getConnection(){
         Connection con = null;
          try{
          con = DriverManager.getConnection(sConnStr,user,password);
          }catch(Exception ee){
          ee.printStackTrace();
             }
          return con;
        }    public List executeQuery(String sql){
    try {
     connect =getConnection();
     Statement stmt = connect.createStatement();
     ResultSet rs = stmt.executeQuery(sql);
     List row = new ArrayList();
     while (rs.next()) {
     Map col = new HashMap();
     for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) 
    col.put(rs.getMetaData().getColumnName(i),rs.getString(i) ); row.add(col);

    }
    return (List) row;
    } catch (SQLException e) {
    return null;
    } catch (Exception e) {
    return null;
    }finally{
    this.releaseStatement(rs);
    this.releaseConnection(connect);
    }
    }
        
      
    public static void main(String[] args) {
    DaoImpl dao = new DaoImpl();
    List list = dao.executeQuery("SELECT * FROM dual;");
    System.out.println("list.size()==="+list);
    }
    }数据库是连接远程机器的, 由于ip不能贴出来,我换成本地的了.引包的语句也删掉了,代码太长...这是源代码. 最基本的都查不出来.打印出来饿是null
      

  3.   

    空指针出现在什么地方,你的List list = dao.executeQuery("SELECT * FROM dual;");
    改成List list = dao.executeQuery("SELECT * FROM dual");
    试一试
      

  4.   


    我靠! 真好使了!  可真恶心....谢谢 Phoenix_99  发现自己的问题可真是够白痴... 自己也够菜的了!