阅读以下代码:

public class selectTable {

public static ResultSet rSet;
public static int total=0;
public static ResultSet onLoad_Opetations(Connection Conn, int rownum,String sql)
{
int rowNum=rownum;
int totalrec=0;
try
{
   Conn=ConnectionODBC.getConnection();
   Statement stmt = Conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    String sqlStmt = sql;
    rSet = stmt.executeQuery(sqlStmt);
    total = rSet.getRow();
    }
    catch(Exception e)
    {
        System.out.println(e.getMessage());
    }
    System.out.println("Total Number of Records="+totalrec);
    return rSet;
    }

}

以下代码未显示实际总数:
total = rSet.getRow();

我的jTable在jTable中显示4条记录,但总数= 0;当我通过调试评估时,它显示:
total=(int)0;

而不是total =(int)4
如果我用
rSet=last(); above from the code  total = rSet.getRow();

然后合计显示准确值= 4,但rSet不返回任何值。然后jTable为空。
告诉我!

最佳答案

BalusC的答案是正确的!但是我不得不根据用户实例变量来提一下,例如:

rSet.last();
total = rSet.getRow();

然后你失踪了
rSet.beforeFirst();

其余代码相同,您将获得所需的结果。

10-08 01:25