package aa;import java.sql.*;public class SQL2005Test {
public static void main(String[] args) {
ResultSet rs = null;
Statement stm = null;
Connection con = null; String name = "sa";
String pw = "12345678"; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433; DatabaseName=pub", name,
pw); System.out.println("建立连接成功!"); stm = con.createStatement(); rs = stm.executeQuery("select user_name from t_user"); while (rs.next()) { System.out.print(rs.getString("user_name"));
}
stm.close(); con.close();
} catch (Exception e) {
e.printStackTrace();
} }}
运行结果如下
建立连接成功!java.lang.NullPointerException
at aa.SQL2005Test.main(SQL2005Test.java:22)
该怎么改?新手没分,大家帮帮忙,嗯,还有介绍下有关这方面的好的资料书籍,先谢谢大家了!!

解决方案 »

  1.   

    java.lang.NullPointerException 
    at aa.SQL2005Test.main(SQL2005Test.java:22) 
     说明在此代码的22行,出现了空指针异常!
    应该是这句出错了System.out.print(rs.getString("user_name")); 
    ,SQl语句应该查询出的结果集中没用数据,既是null。
    但它调用方法时,就会报此异常!
    注意这个SQl语句是否查询出了数据!
    可以尝试这打印这个rs,看看是否为空!
    祝你成功!
      

  2.   

    找到问题了,是con未赋值,改为con = DriverManager.getConnection( 
    "jdbc:sqlserver://localhost:1433; DatabaseName=pub", name, 
    pw);