con.createStatement(); java.lang.nullpointerexception

来源:百度知道 编辑:UC知道 时间:2024/06/23 00:02:06
import java.sql.*;
import java.io.*;

public class UserBeanC1{
Connection con = null;
PreparedStatement ps = null;
Statement st = null;
ResultSet rs = null;
boolean b = false;
//建立用户的连接:
public boolean checkUser(String n,String p){
try{
ConnDB cd = new ConnDB();
con = cd.getConn();
System.out.println("sql--------");
st = con.createStatement();//到这里就会发生空指针错误,(其他任何东西都没有问题,)我想不通这句话应该抛出SQLException 怎么回抛出空指针错误呢>>
rs = st.executeQuery("select top 1 password from users");
if(rs.next()){
String s = rs.getString(1);
if(s.equals(p)){
b = true;
}
}

} catch(SQLException e){
e.printStackTrace();
}
return b;
}

}

这说明你con = cd.getConn();
这句得到的是null
你要检查一下你的ConnDB这个获取conn的方法是不是有问题。如果这里能够得到内容就不会出空指针错了。

没有得到连接对象,你的getConn的方法能贴出来么,我帮你找错误,所以你的con对象为空,所以就是空指针

你所说的con.createStatement这句才出现的空指针。其实在你
con = cd.getConn(); 这句获取连接的时候就已经出错了 con肯定得到一个null 之后createStatement才有空指针了。
你这里没有贴出ConnDB的代码 我也无法解答。你自己去看一下ConnDB里的getConn方法吧。肯定是这里出错的。