javabeans连接mysql但是调用的时候rs却是为空,麻烦高手帮忙看下,我的javabeans如下:package com.search;import java.sql.*;public class searchgov
{
private String DbName = "";
private String pass = "";
private String url = "";
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;public  searchgov()
{
}public void setDbName (String name)
{
this.DbName = name;
}
public void setPass (String pass)
{
this.pass = pass;
}public void BulidCon()
{
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
url ="jdbc:mysql://localhost/"+DbName+"?user=root&password="+pass+"&useUnicode=true&characterEncoding=utf8";
con= DriverManager.getConnection(url); 
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch (Exception e)
{
}
}public ResultSet selectLog(String sql)
{
try
{
BulidCon();
rs = stmt.executeQuery(sql);
}
catch(Exception e)
{
System.out.println(e.toString());
}
return rs;
}public void updateLog(String sql)
{
try
{
BulidCon();
stmt.executeUpdate(sql);
}
catch (Exception e)
{
}
}public void close()
{
try
{
con.close();
stmt.close();
}
catch (SQLException e)
{
}
}}我调用的代码:
<%-- 
    Document   : test1
    Created on : 2008-6-9, 14:06:24
    Author     : admin
--%><%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
   <%@ page import = "com.search.searchgov" %>
   <%@ page import = "java.sql.*" %>
   <%@ page import = "java.lang.String" %>
   <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <jsp:useBean id="searche" scope="page" class="com.search.searchgov" />        <%
        searche.setDbName("test");
        searche.setPass("123456");
        String sql="select * from public_gov order by crtime desc";
        ResultSet rs=searche.selectLog(sql);
        out.println(rs);        
        %>
    </body>
</html>

解决方案 »

  1.   

    这种写法虽然不好,但是运行起来没什么问题.
    我试了一下,如果报空指针异常基本上就是数据库的名字,或者密码不对,也可能是SQL语句~把这些都写对了运行是没问题的
      

  2.   

    Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
    url ="jdbc:mysql://localhost/"+DbName+"?user=root&password="+pass+"&useUnicode=true&characterEncoding=utf8";
    con= DriverManager.getConnection(url); 
    stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);打印下con是不是为null
      

  3.   

    try
    {
    Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
    url ="jdbc:mysql://localhost/"+DbName+"?user=root&password="+pass+"&useUnicode=true&characterEncoding=utf8";
    con= DriverManager.getConnection(url); 
    stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    }
    catch (Exception e)
    {
       System.out.println(e.toString());
    }把这里改成这样你就明白了
      

  4.   

    还是不行,还是提示空指针,运行平台是在linux下
      

  5.   

    支持楼上的.总得把EXCEPTION给捕获了吧.打出看看是哪儿出了空指针.