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

ResultSet应该怎么样赋值呢?
菜鸟初学JSP,很有些搞不清楚状况.原本对ResultSet直接返回,但是不行,请各位大侠给我点指点~~~~~列上本人程序段:
public   void   connect(){
  try{
            Class.forName( "net.sourceforge.jtds.jdbc.Driver ");
            conn=DriverManager.getConnection( "jdbc:jtds:sqlserver://localhost:1433;DatabaseName=yy ",   "sa ",   " ");
            stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

}
            catch(Exception   e){
            e.printStackTrace();
            }
      }
public   ResultSet   citeexecuteQuery(String   s){
      try{
                connect();
                rst=stmt.executeQuery(s);

}
      catch(Exception   e){
            e.printStackTrace();
            }
return(rst);
      }


然后用:ResultSet   rs=citeexecuteQuery(s);进行调用.....
这样写法让我根本无法得到结果集....该如何是好呀~

------解决方案--------------------
你的思路是好 ,但方法实现是不对的。
public ResultSet citeexecuteQuery(String s)
方法虽然返回了rst,但是你不能直接用返回的数据。
因为返回的是个集合,而不是对象。
你只能实例一该方法的对象 ,调用该方法后得到改方法的数据集合。
例如:
方法public ResultSet citeexecuteQuery(String s)是写在A类中
A a= new A();
Statement stmt=a.citeexecuteQuery();
stmt 其实就是你想要的rst。
也就说是返回的数据集合 不能直接使用,必须实例一对象 调用改方法。