Java连接DB2数据库问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 10:55:59
Java查询DB2的数据,连接数据库和查询代码如下:

public class JccDAO {
private String driver="com.ibm.db2.jcc.DB2Driver";
private String URL="jdbc:db2://localhost:50000/test";
private String username="db2admin";
private String password="db2admin";

private Connection con=null;
private PreparedStatement pstmt=null ;
private ResultSet rs=null ;

public JccDAO(){

try{
Class.forName(driver);
System.out.println("驱动接口程序连接成功!!!");
}catch(Exception e){
System.out.println("驱动接口程序连接失败!!!"+driver);
e.printStackTrace();
}

try{
con=DriverManager.getConnection(URL,username,password);
if(!con.isClosed()){
System.out.println("连接DB成功!!!");
}
}catch(Exception ex){
System.out.println("连接DB失败!!!"+driver);
ex.printStackTrace();
}

你加两句打印看看.
//这里加入一行
System.out.println("con:"+this.con);
pstmt=this.con.prepareStatement(sql) ;
//这里加一行
System.out.println("pstmt:"+pstmt);
rs=pstmt.executeQuery();
//这里加一行
System.out.println("rs:"+rs);

看哪个是null

pstmt=this.con.prepareStatement(sql) ;

把sql贴出来看看
怀疑是sql错了

public void query(){
pstmt=this.con.prepareStatement(sql) ;
rs=pstmt.executeQuery() ;
这里错了吧??
应该是public void query(String sql) {
pstmt=this.con.prepareStatement(sql) ;
pstmt.setString(1,"XXX");或者pstmt.setInt(1, 数字);
rs=pstmt.executeQuery() ;
}

sql 错了...