请教测试查询结果问题
现在写了两个类connDB.java和statementExp.java
其中connDB.java是用来连接数据库和关闭数据库连接的。这个类正确,已通过测试
statementExp.java是用来执行查询语句的。这个类有错误,在调试时,main函数中的rs 显示 BaseResultSet ,这是为什么啊,我不明白,还请高手指导,多谢!代码如下:
package com.phy.db;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.phy.db.connDB;
public class statementExp {
/*功能:执行查询语句*/
public ResultSet executeQuery(String sql) {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
conn=connDB.getConnection();
try {
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}catch (SQLException ex) {//捕获异常
System.err.println(ex.getMessage());
}finally{//关闭结果集、数据库等连接
try{
if(rs != null)
rs.close();
System.out.println("rs close");
}catch(SQLException sqlex1){
System.err.println(sqlex1.getMessage());
}
try{
if(stmt != null)
stmt.close();
System.out.println("stmt close");
}catch(SQLException sqlex2){
System.err.println(sqlex2.getMessage());
}
}
connDB.closeConnection();
return rs;
}
public static void main(String[] args) {statementExp se=new statementExp();
String sql="select * from tb_gov";
ResultSet rs=null;
rs=se.executeQuery(sql);/////////////////???????????????????
try{
if(rs.next()){//对查询结果进行判断
System.out.println("查询成功");
}else{
System.out.println("查询失败");
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
在调试到红色这句时,进入executeQuery(String sql)函数里时,逐步调试,显示如下
变量名 变量值
conn SQLServerConnection
stmt BaseStatement
rs BaseResultSet