编译通过,运行出现这个错误
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;
}
}
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;
}
}
{
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));
}
}
Exception in thread "main" java.lang.NullPointerException
at conn.executeQuery(conn.java:38)
at conn.main(conn.java:79)
System.err.println 等rs=stmt.executeQuery(sql);
这里 看看sql 是不是空的
或者 你 的连接 conn 是空的