为什么无法利用RESULTSET进行赋值?
数据库查询结果保存到RESULTSET sqlRst里面,
用<%=sqlRst.getString(1)%>能将打印出来,可是用 String str=sqlRst.getString(1);却无法对str赋值,str一直是null。
这是怎么回事????数据库的javabean:
package Bean;
import java.sql.*;
public class MyDbBean {
   private Statement stmt = null;
   ResultSet rs = null;
   private Connection conn = null;
//构造函数
   public MyDbBean() {
   }
//根据dsn参数,加载驱动程序,建立连接
   public void OpenConn(String dsn, String uid, String pwd) throws Exception {
	 try {
   dsn = "jdbc:odbc:" + dsn;
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   conn = DriverManager.getConnection(dsn, uid, pwd);
   }  
   catch (Exception ex) {    
System.err.println("aq.executeQuery: " + ex.getMessage());
   }
   }
//执行查询类的SQL语句,有返回集
   public ResultSet executeQuery(String sql) {
     rs = null;
     try {
     stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
     rs = stmt.executeQuery(sql);
     }  
     catch(
SQLException ex) {  
      System.err.println("aq.executeQuery: " + ex.getMessage());
     }
     return rs;
   }    
//执行更新类的SQL语句,无返回集
   public void executeUpdate(String sql) {
     stmt = null;
     rs=null;
     try {
     stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
     stmt.executeQuery(sql);
     stmt.close();
     conn.close();
     }  
     catch(SQLException ex) {  
       System.err.println("aq.executeQuery: " + ex.getMessage());
     }
   }
//关闭对象
   public void closeStmt(){
     try{
       stmt.close();
      }
     catch(SQLException ex) {  
       System.err.println("aq.executeQuery: " + ex.getMessage());
      }
   }
   public void closeConn(){
     try{
       conn.close();
      }
     catch(SQLException ex) {  
       System.err.println("aq.executeQuery: " + ex.getMessage());
      }
   }
}
查询代码:
    <jsp:useBean id="MyDataBean" scope="page" class="Bean.MyDbBean"></jsp:useBean>
   <%
   MyDataBean.OpenConn("hotel","sa","");
   sql="select * from room where Sex='"+sex+"' or Sex is NULL";
   sqlRst=MyDataBean.executeQuery(sql);
   %>
------解决方案--------------------rs.next();没写~
把这个加你程序里就可以了~
然后最好在你关闭方法里写上个 关闭RS 的