用一个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);
%>

解决方案 »

  1.   

    try { 
    conn = DriverManager.getConnection(connStr,username,password); 
    stmt = conn.createStatement(); 
    rs = stmt.executeQuery(sql); 

    再加断点, 好像在这里conn对象也没得到,为空,哎,真郁闷,这里也有错吗?
      

  2.   

    我把数据库换成mysql,改了下驱动和URL,就一切正常了。 难道是我连DB2的驱动和URL写错了?
      

  3.   

    有可能,你用别sql工具试试,看能连接上吗
      

  4.   

    已搞定,页面搞成UTF-8即可 总结一下,这次完全是把简单的问题搞复杂了,看了找不到驱动类,就认为是url或者驱动类的问题,不停的找驱动,不停的试 
    去没有在意控制台上输出的错误。还有就是网上搜到的很多帖子已经很旧了,已经不适合现在的情况,还是要自动多用断点,自己多想多思考。