[ Pobierz całość w formacie PDF ]
Domyślnie zbiór wynikowy można przeglądać jedynie w przód,
po jednym rekordzie, wartości w kolumnach nie można mo-
dyfikować, a sterownik nie jest w stanie wykryć zmian zacho-
dzących w bazie danych. Aby stworzyć zbiór wynikowy, który
można przeglądać, modyfikować i który będzie wykrywać zmia-
ny w bazie, należy użyć alternatywnej wersji jednej z metod
, lub obiektu
. Metody te pobierają dwa dodatkowe argumenty:
Otrzymywanie wyników zapytań 29
(stała współbieżności obiektu )
Określa, czy zbiór wynikowy może być tylko przeglądany,
czy możliwe będzie także dokonywanie za jego pomocą
modyfikacji. Dostępne są dwie wartości stałej tego typu:
(stała typu obiektu )
Określa, w jaki sposób można przeglądać zbiór wynikowy
powstały w efekcie wykonania zapytania oraz ustala, czy
sterownik ma wykrywać zmiany w bazie danych doty-
czące rekordów objętych zbiorem wynikowym. Oto dostępne
wartości tej stałej:
Dla zbioru wynikowego przeglądanego tylko w przód,
niewrażliwego na modyfikacje.
Dla zbioru wynikowego przeglądanego dwukierun-
kowo, niewrażliwego na modyfikacje.
Dla zbioru wynikowego przeglądanego dwukierun-
kowo, wrażliwego na modyfikacje.
Poniżej przedstawiono przykład utworzenia zbioru wynikowego,
który może być przeglądany, za pomocą którego można mody-
fikować rekordy w bazie i który jest w stanie wykryć zmiany
dokonywane w bazie (przy założeniu, że połączenie
istnieje):
30 JDBC. Leksykon kieszonkowy
Przeglądanie zbioru wynikowego
Jeżeli zbiór wynikowy został ustalony jako możliwy do przeglą-
dania tylko w przód, do przesuwania się co jeden wiersz należy
używać metody . Zazwyczaj ta operacja wykonywana jest
w pętli o na przykład takiej strukturze (przy założeniu, że połą-
czenie istnieje):
Otrzymywanie wyników zapytań 31
Jeżeli zbiór może być przeglądany dwukierunkowo, do ustawia-
nia pozycji kursora można używać jednej z następujących metod:
, , , , oraz . Nie-
zależnie od tego, czy zbiór można przeglądać jedno- czy dwukie-
runkowo, bieżącą pozycję kursora można określić za pomocą jed-
nej z metod: , , , lub
.
Pobieranie wartości z kolumn
Bez względu na rodzaj zbioru wynikowego, do pobrania wartości
z określonej kolumny służy jedna z metod odpowiednia
dla typu danych SQL przechowywanych w kolumnie. Pierwszym
argumentem metody jest indeks kolumny, który jest względną
pozycją kolumny w konstrukcji SQL (1 dla pierwszej, a następnie
kolejno od lewej do prawej). Poniżej przedstawiono przykład (przy
założeniu, że połączenie istnieje):
32 JDBC. Leksykon kieszonkowy
W powyższym przykładzie zmiennej typu zostaje
przypisana wartość znajdująca się w kolumnie zbioru
wynikowego. Kolumna ta występuje w zbiorze wynikowym jako
pierwsza, stąd w wywołaniu metody podanym indeksem
jest liczba 1. Zmiennej typu przypisana jest wartość
z kolumny , pobrana ze zbioru wynikowego za pomocą
metody , do której jako argument przekazano wartość 2.
Wstawianie, modyfikowanie i usuwanie
wierszy za pomocą zbioru wynikowego
Jeżeli utworzony zbiór wynikowy umożliwia modyfikację, można
za jego pomocą wstawiać nowe wiersze, modyfikować wartości
w istniejących wierszach, a także usuwać wiersze.
Otrzymywanie wyników zapytań 33
Wstawienie nowego wiersza do modyfikowalnego zbioru wyni-
kowego wymaga najpierw przeniesienia kursora do roboczego
obszaru zwanego (tam tworzy się nowy wiersz) za
pomocą metody . Następnie, za pomocą metod
z rodziny , należy ustalić wartości w poszczególnych
kolumnach. Właściwego wstawienia wiersza do tabeli dokonuje
się przy użyciu metody . Na końcu trzeba z powrotem
ustawić kursor na rekordzie, na który wskazywał przed rozpo-
częciem wstawiania służy do tego metoda .
Aby zmodyfikować wiersz istniejący w zbiorze wynikowym,
trzeba najpierw ustawić kursor na żądanym rekordzie, a następ-
nie za pomocą metod wpisać do niego nowe wartości.
Modyfikacji wiersza w tabeli dokonuje metoda .
Przed usunięciem istniejącego wiersza poprzez zbiór wynikowy
trzeba ustawić na wybranym wierszu kursor, a następnie wywołać
metodę .
Poniższy przykład obrazuje wykonanie tych trzech operacji (przy
założeniu, że połączenie istnieje):
34 JDBC. Leksykon kieszonkowy
Dynamiczne określanie
charakterystyki zbioru wynikowego
Do określania charakterystyki zbioru wynikowego w trakcie
wykonywania programu służy klasa . Istnieje
wiele sytuacji, w których może pojawić się konieczność określenia
Otrzymywanie wyników zapytań 35
cech otrzymanego zbioru. Na przykład, po wykonaniu dynamicz-
nej konstrukcji , za pomocą obiektu można
ustalić, co tak naprawdę ta konstrukcja zwróciła.
Poniżej przedstawiono sposób uzyskiwania obiektu
dla bieżącego zbioru wynikowego za pomocą metody
(przy założeniu, że połączenie istnieje):
36 JDBC. Leksykon kieszonkowy
Korzystając z obiektu , program najpierw okre-
śla liczbę kolumn ujętych w zapytaniu SQL. Następnie, podczas
przetwarzania pierwszego wiersza zbioru wynikowego, wypi-
suje nagłówki kolumn, używając nazw występujących w bazie
danych. Potem program wyświetla kolejno wartości z poszcze-
gólnych wierszy. Informacje na temat wszystkich możliwości
obiektu znajdziesz w podrozdziale ResultSet-
MetaData w rozdziale JDBC API .
Otrzymywanie wyników zapytań 37
[ Pobierz całość w formacie PDF ]