[ Pobierz całość w formacie PDF ]
.Dostęp do danych zawartych w ResultSetnastępuje poprzez odpowiedni przesuw (ResultSet.next()) po rekordach (początkowowskaznik ustawiony jest przed pierwszym elementem) oraz odczyt wartości pól zapomocą metod podanych w powyższej tabelce typu getXXX(), gdzie identyfikatorkolumny określany jest poprzez jej nazwę (typu String - ważna jest wielkość liter) lubnumer kolejny w rekordzie (np.1 kolumna, 2 kolumna,.).Informację o kolumnach obiektu ResultSet dostępne są poprzez wywołanie metodinterfejsu ResultSetMetaData, którego obiekt zwracany jest poprzez przywołaniemetody ResultSet.getMetaData.Przykładowe własności kolumn to nazwa kolumny-getColumnName(), czy typ kolumny- getColumnType().Niektóre systemyzarządzania bazami danych umożliwiają tzw.pozycjonowane zmiany i kasowaniepolegające na wprowadzaniu zmian w aktualnie dostępnym rekordzie w ResultSet.Możliwe jest wówczas wykorzystanie metod updateXXX() interfejsu ResultSet doaktualizacji danych.W celu zobrazowania techniki przetwarzania rezultatówwykonania polecenia SQL posłużmy się następującym przykładem:Przykład 8.3://DBkurs3.java:import java.sql.*;public class DBkurs3 {public static void main(String[] args) {String url = "jdbc:odbc:kurs";String username = "";String password = "";String imie, inic;int lata;9-11Jacek Rumiński - Język JAVA Jacek Rumiński - Język JAVA Rozdział 9Jacek Rumiński - Język JAVA Jacek Rumiński - Język JAVA try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch (Exception e) {System.out.println("Blad ladowania sterownika JDBC/ODBC.");return;}Connection c = null;Statement s = null;try {c = DriverManager.getConnection (url,username,password);s = c.createStatement();} catch (Exception e) {System.err.println("Wystapil problem z polaczeniem do "+url);}try {ResultSet r=s.executeQuery("SELECT uczestnik, inicjaly, wiek FROM kurs");int n=0;while(r.next()){n++;imie=r.getString(1); // w pętli pobieramy daneinic=r.getString(2);lata=r.getInt(3);System.out.println("Dane rekordu nr: "+n+" to: "+imie+", "+inic+", "+lata);}s.close();} catch (Exception e) {System.err.println("Wystapil problem z wyslaniem SQL do "+url+ ": "+e.getMessage());}finally{try{ c.close(); }catch(SQLException e) {e.printStackTrace();}}//od finally}}// koniec public class DBkurs3W ten sposób pokazane zostały wszystkie trzy podstawowe zadania w pracy zbazami danych.Warto wspomnieć, że JDBC składa się faktycznie z dwóch API:jedna biblioteka standardowa dołączana do JDK (i tylko te elementy wykorzystano iomówiono powyżej) tzw.JDBC 2.0 core API oraz dodatkowa biblioteka będącarozszerzeniem czyli JDBC 2.0 extension API.Tak ujęta budowa JDBC umożliwiaciągły rozwój biblioteki przy zachowaniu standardowych narzędzi dostarczanych zpodstawowym środowiskiem Javy.9-12 [ Pobierz całość w formacie PDF ]