我有两个javaBean文件
一个是数据库连接的JdbcBean.java
package test;import java.sql.*;
public class JdbcBean {
Connection con=null;
ResultSet rs=null;

public JdbcBean()
{
try
{
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(ClassNotFoundException e)
{}
}

public ResultSet getRs(String sql)
{
try
{
con=DriverManager.getConnection("jdbc:mysql://localhost/qqtech","root","111111");
Statement stmt=con.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException e)

{}
return rs;

}
public void closeDB()
{
try
{
rs.close();
con.close();
}catch(SQLException e)
{}
}}
另外一个是操作一个类别表的类
NewClass.java:package test;
import java.sql.*;
public class NewClass {
private ResultSet rs=null;
private JdbcBean db=new JdbcBean(); public NewClass()
{
}
public boolean checkClass(String sql)
{
rs=db.getRs(sql);
if(!rs.next())//该行报错
{
return false;
}
else

{
return true;
}
}}请教一个问题,我要在NewClass.checkClass(String sql)方法中调用JdbcBean.getRs(String sql)获取一个rs对象,然后再通过它来判断数据库里有没有符合条件的信息为什么在if(!rs.next())这行报错:未处理的异常类型SQLException
请问,我上述调用方法有错吗?
应该怎么做,谢谢!

解决方案 »

  1.   

    加上try/catch块。把你的NewClass类改成这样试试:import java.sql.*;
    public class NewClass {
    private ResultSet rs=null;
    private JdbcBean db=new JdbcBean(); public NewClass()
    {
    }
    public boolean checkClass(String sql)
    {
    rs=db.getRs(sql);
    try {
    if(!rs.next())//该行报错
    {
    return false;
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    return true;
    }}
      

  2.   

    rs是Null吧.可能查询时出异常了
      

  3.   

    1楼说的对,必须加上try,
    或者
    public boolean checkClass(String sql)throws SQLException
    这样也可以.