各位老鸟,请先看一下我的代码:
============================================
private Sql_data clsDB;
private String strChineseName ;

public void InitializeCalss() throws SQLException
{
strChineseName="";
try
{
String strSql="Select ChineseName from Resume Order by UserID";
ResultSet rs=null;

rs=clsDB.executeQuery(strSql);
strChineseName=rs.getString(1);
if (rs.next())
{
strChineseName=rs.getString(1);
}
rs.close();
}
catch (Exception e)
{
System.err.println(e);
}
}

public String ChineseName()
{
return strChineseName;
}============================================
Sql_data 是一个连接数据库的类,而且经过测试没有任何问题!
现在我的问题是,在jsp中,调用了此类中: InitializeCalss 方法,
但是在strChineseName=rs.getString(1)取值的时候,总是Null值,在显示出来的时候,显示:Null!
请问一下如何才能取值实际的值?(表中有一条数据!!!)唉救人啊

解决方案 »

  1.   

    Sql_data 类里面的executeQuery(strSql)方法返回的是记录集对象吧?
    记录集对象是不能用这种方法赋值的最好把executeQuery()方法的返回类型改成Object[]
      

  2.   

    把rs.close();放到finally里面去!可能是去数据之前rs就关闭了!
      

  3.   

    neptune0229(暗长空) !
    能否请你看一下面这样对吗?不对能否请你帮忙改一下,多谢了
    ====================================================================
    public Object executeQueryObj(String sql)
    {
    try
    {
    conn=DriverManager.getConnection(url,user,password);
    stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    rs=stmt.executeQuery(sql);
    }
    catch(SQLException ex)
    {
    System.err.println("sql_data.executeQuery:"+ex.getMessage());
    }
    return rs;
    }
      

  4.   

    rs=clsDB.executeQuery(strSql);
    strChineseName=rs.getString(1);   ====这句去掉试试
    if (rs.next())
    {
    strChineseName=rs.getString(1);
    }