結果セットの行の合計数 getRow メソッド 質問する

結果セットの行の合計数 getRow メソッド 質問する

次のコードを読んでください:

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 には 4 つのレコードが表示されますが、合計は 0 です。デバッグで評価すると、次のように表示されます。

total=(int)0; 

total=(int)4 ではなく、

rSet=last(); above from the code  total = rSet.getRow();

すると、合計は正確な値 = 4 を示しますが、rSet は何も返しません。すると、jTable は空になります。更新してください。

ベストアンサー1

BalusC さんの答えは正しいです! ただし、ユーザー インスタンス変数に応じて次のように言及する必要があります。

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

そしてあなたが見逃しているもの

rSet.beforeFirst();

残りのコードは同じなので、希望する結果が得られます。

おすすめ記事