编译通过,运行出现这个错误
import java.sql.*;public class conn
{
    private String driver="sun.jdbc.odbc.JdbcOdbcDriver";
    private String url="jdbc:odbc:huang";//
    private String user="abc";
    private String password="123";//softrunhnccc
    private Connection conn=null;
    private ResultSet rs=null;
    private Statement stmt=null;    public conn()
    {
        try
        {
            Class.forName(driver);
            try {
              conn = DriverManager.getConnection(url, user, password);
              stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                          ResultSet.CONCUR_UPDATABLE);
            }
            catch (SQLException ex) {
                System.out.println(ex.getMessage());
            }
        }
        catch(java.lang.ClassNotFoundException e)
        {
            System.err.println("Class Loading Exception:"+e.getMessage());
        }
    }    public ResultSet executeQuery(String sql)           //query
    {
        try
        {
            rs=stmt.executeQuery(sql);
        }
        catch(SQLException ex)
        {
            System.err.println("Query Exception:"+ex.getMessage());
//            System.err.println("SQL:"+sql);
        }
        return rs;
    }    public int executeUpdate(String sql)               //insert,delete,update
    {
        int i=0;
        try
        {
            i=stmt.executeUpdate(sql);
        }
        catch(SQLException ex)另外,我的另一段代码出现同样的错误,调用了这个文件
import java.util.*;
import conn;
public class test1
{
    
    
    
    public static void main(String[] args)
    {
       
       for(int i=1;i<30;i++)      
          for(int j=1;j<i;j++)
          {
           Insert(i,j);
          }
      // conn1.close();
    }
    public  static int Insert(int pathIdNumber,int offsetNumber)
    {      
           Random r=new Random();
           conn conn2=new conn();
           int rows=0;
           String a1=String.valueOf(r.nextInt(2));
           String a2=String.valueOf(r.nextInt(9));
           String a3=String.valueOf(r.nextInt(9));
           String b1=String.valueOf(r.nextInt(2));
           String b2=String.valueOf(r.nextInt(9));
           String b3=String.valueOf(r.nextInt(9));
           String c1=String.valueOf(r.nextInt(2));
           String c2=String.valueOf(r.nextInt(9));
           String c3=String.valueOf(r.nextInt(9));
           String d1=String.valueOf(r.nextInt(2));
           String d2=String.valueOf(r.nextInt(9));
           String d3=String.valueOf(r.nextInt(9));
           String ip=a1+a2+a3+"."+b1+b2+b3+"."+c1+c2+c3+"."+d1+d2+d3;
           String sql="insert into path(pathid,offset,ip) values("+pathIdNumber+","+offsetNumber+",'"+ip+"')";
           rows+=conn2.executeUpdate(sql);
           conn2.close();
            return rows;
    }
}

解决方案 »

  1.   

    第一段代码是;上面的没贴全import java.sql.*;public class conn
    {
        private String driver="sun.jdbc.odbc.JdbcOdbcDriver";
        private String url="jdbc:odbc:huang";//
        private String user="abc";
        private String password="123";//softrunhnccc
        private Connection conn=null;
        private ResultSet rs=null;
        private Statement stmt=null;    public conn()
        {
            try
            {
                Class.forName(driver);
                try {
                  conn = DriverManager.getConnection(url, user, password);
                  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                              ResultSet.CONCUR_UPDATABLE);
                }
                catch (SQLException ex) {
                    System.out.println(ex.getMessage());
                }
            }
            catch(java.lang.ClassNotFoundException e)
            {
                System.err.println("Class Loading Exception:"+e.getMessage());
            }
        }    public ResultSet executeQuery(String sql)           //query
        {
            try
            {
                rs=stmt.executeQuery(sql);
            }
            catch(SQLException ex)
            {
                System.err.println("Query Exception:"+ex.getMessage());
    //            System.err.println("SQL:"+sql);
            }
            return rs;
        }    public int executeUpdate(String sql)               //insert,delete,update
        {
            int i=0;
            try
            {
                i=stmt.executeUpdate(sql);
            }
            catch(SQLException ex)
            {
                System.err.println("Update Exception:"+ex.getMessage());
                System.err.println("SQL:"+sql);
            }
            return i;
        }    public void close()
        {
            try
            {
                this.conn.close();
            }
            catch (SQLException ex)
            {
                System.err.println("Close Exception:"+ex.getMessage());
            }
        }    public static void main(String[] args) throws Exception
        {
            conn conn1=new conn();
            String sql="select * from path";
            ResultSet rs=conn1.executeQuery(sql);
            if(rs.next())
                System.out.println(rs.getString(1)+"-"+rs.getString(2)+"-"+rs.getString(3));
        }
    }
      

  2.   

    lz,提示NullPointer异常肯定会指出是哪行吧?为什么不贴出来说明呢?
      

  3.   

    No data found
    Exception in thread "main" java.lang.NullPointerException
            at conn.executeQuery(conn.java:38)
            at conn.main(conn.java:79)
      

  4.   

    仔细看看系统错误信息
    System.err.println 等rs=stmt.executeQuery(sql);
    这里 看看sql 是不是空的
    或者 你 的连接 conn 是空的
      

  5.   

    建议你在executeQuery方法中设置断点,调试一下看在哪一句抛NullPointer异常。