import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class Test { private String url = "jdbc:db2://localhost:8080;DataBassName=COMDB";
private String username = "db2admin";
private String password = "db2admin"; private Connection con;
private Statement stmt;
static {
try {
Class.forName("com.ibm.db2.jcc.DB2Driver"); } catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("DataBassAccess:" + e.getMessage());
}
} public void createConnection() {
try {
con = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("DataBassAccess:" + e.getMessage());

}
} public void execQuery(String sqlstr) {
try {
ResultSet rs = stmt.executeQuery(sqlstr);
while (rs.next()) {
String COMPUTER_TYPE = rs.getString("COMPUTER_TYPE");
System.out.println(COMPUTER_TYPE);
}
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static void main(String[] args) {
Test db = new Test();
db.createConnection();
String sqlstr = "select * from COMPUTER_BASIC_INFO";
db.execQuery(sqlstr); }
}

解决方案 »

  1.   

    执行了一下,一切正常,但我这里没有jdbc驱动,所以报错:DataBassAccess:com.ibm.db2.jcc.DB2Driver
    DataBassAccess:No suitable driver
    Exception in thread "main" java.lang.NullPointerException
    at Test.execQuery(Test.java:37)
    at Test.main(Test.java:57)
      

  2.   

    你怎么没有创建statement呢?你的stmt还是null吧?public void execQuery(String sqlstr) { 
    try { 
    //添加下面2句
    stmt= conn.createStatement();
    stmt.executeUpdate(sql);

    ResultSet rs = stmt.executeQuery(sqlstr); 
    while (rs.next()) { 
    String COMPUTER_TYPE = rs.getString("COMPUTER_TYPE"); 
    System.out.println(COMPUTER_TYPE); 

    rs.close(); 
    stmt.close(); 
    con.close(); 
    } catch (SQLException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 


    话说啊,你的问题是啥来着???