日期:2014-05-18  浏览次数:20685 次

大家帮我看看在一个javaBean文件中调用另外一个javaBean文件的问题!
我有两个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


请问,我上述调用方法有错吗?
应该怎么做,谢谢!


------解决方案--------------------
加上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;
}

}
------解决方案--------------------
rs是Null吧.可能查询时出异常了