链接DB2数据库问题,得不到conn和rs结果集
用一个bean封装数据库操作,在jsp页面调用,加断点发现在bean里面执行的时候,rs就没得到结果,依然为空。
帮看下程序有问题吗?
package com;
import java.sql.*;
public class DBBean
{
private String driverStr = "com.ibm.db2.jcc.DB2Driver";
private String connStr = "jdbc:db2://172.40.1.98:50000/konka";
private String username = "openeap";
private String password = "suntektest";
private Connection conn = null;
private Statement stmt = null;
public DBBean()
{
try {
Class.forName(driverStr);
}
catch(ClassNotFoundException ex) {
System.out.println(ex.getMessage());
}
}
public void setDriverStr(String dstr)
{
driverStr=dstr;
}
public void setConnStr(String cstr)
{
connStr=cstr;
}
public ResultSet executeQuery(String sql)
{
ResultSet rs = null;
try {
conn = DriverManager.getConnection(connStr,username,password);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.out.println(ex.getMessage());
}
return rs;
}
public void close()
{
try{
stmt.close();
conn.close();
}
catch(SQLException ex){
System.out.println(ex.getMessage());
}
}
}
<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>
<jsp:useBean id="conn" class="com.DBBean" scope="session" />
<%
conn.toString();
if (conn == null) {
out.print("conn为空");
} else {
out.print("conn不为空");
}
ResultSet rs = null;
String sql1 = "select * from xcx_test_callback";
rs = conn.executeQuery(sql1);
out.print("你是谁");
conn.toString();
ResultSetMetaData rmeta = rs.getMetaData();
//确定数据集的列数,亦字段数
int numColumns=rmeta.getColumnCount();
// 输出每一个数据值
out.print("id");
out.print("|");
out.print("num");
out.print(" <br>");
while(rs.next())
{out.print(rs.getString(1)+" ");
out.print("|");
out.print(rs.getString(2));
out.print(" <br>");
}
rs.close();
conn.close();
session.setMaxInactiveInterval(-1);
%>