java.sql.PreparedStatement.executeQuery() でSQL文を実行したりすると返ってくる java.sql.ResultSet には行数をgetする関数は用意されてないので、以下のように最後の行に移ってgetRow()するといった処理で行数を得ます。
rs.last(); int number_of_row = rs.getRow(); rs.beforeFirst(); //最初に戻る
以下のようにして、MySQLのデータベースのテーブル名一覧を取得できます。
String sql = "show tables from " + catalogId; PreparedStatement stmt = conn.prepareStatement(sql); ResultSet rs = stmt.executeQuery(); // getTables を使ってうまくテーブル名一覧を得る方法もあるらしいがうまくできなかったので // 単純にSHOW TABLES FROM catalogId を実行する rs.last(); int number_of_tables = tables_rs.getRow(); rs.beforeFirst(); ArrayList<String> table_list = new ArrayList<String>(number_of_tables); while (rs.next()) { table_list.add(rs.getString(1)); // rs.getString("TABLE_NAME") でいけるかと思ったけどダメだった… }