ResultSet - zliczenie liczby zwracanych wierszy

0

Witam,
mam pytanie donośnie obiektu ResultSet. Mianowicie po połączniu sie z bazą danych oraz wywołaniu funkcji executeQuery chciałbym wiedzieć ile wierszy zostało zwróconych. Czy ktoś może podpowiedzieć jak to zrobić? Z gory dziekuje za pomoc

0
rs.last();
int ile = rs.getRow();

Obie użyte metody (last(), getRow()) mogą być nieobsługiwane przez sterownik.

0

Jeszcze zalezy o jaki typ ResultSeta pyta - metoda last()nie jest obslugiwane dla typu jest TYPE_FORWARD_ONLY, a domyslnie wlasnie taki jest zwracany.

0

Panowie,
używam sterownika ojdbc14. Ustawiłem ResultSet na TYPE_SCROLL_SENSITIVE i niestety lipa. Dostaje następujący wyjątek:
java.sql.SQLException: Niepoprawna operacja dla zestawu wyników "tylko do przesłania" : last
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.BaseResultSet.last(BaseResultSet.java:86)
Nie mam juz pomysłu jak zliczyć ile wierszy mi wyrzuciła kwerenda. Bardzo proszę o pomoc.

0
Krokus napisał(a):

Panowie,
używam sterownika ojdbc14. Ustawiłem ResultSet na TYPE_SCROLL_SENSITIVE i niestety lipa. Dostaje następujący wyjątek:
java.sql.SQLException: Niepoprawna operacja dla zestawu wyników "tylko do przesłania" : last
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.BaseResultSet.last(BaseResultSet.java:86)
Nie mam juz pomysłu jak zliczyć ile wierszy mi wyrzuciła kwerenda. Bardzo proszę o pomoc.

ResultSet resultSet = statement.executeQuery(polecenieSQL);
java.sql.ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
int columnCount = resultSetMetaData.getColumnCount();

0

Przelec przez wszystkie zwrocone rekordy i inkrementuj jakąs zmienną:

int i;
ResultSet rs = stmt.executeQuery (query);
         while (rs.next ()) {
         i++;
         }
System.out.println("Zapytanie zwrocilo" + i + " rekordow" );
1

korzystasz z tych zwróconych danych ? czy tylko trzeba Ci ilość wierszy?

Jeśli to drugie to można i tak:

SELECT COUNT(*) FROM <table_name>;

1 użytkowników online, w tym zalogowanych: 0, gości: 1