Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
JDBC. Leksykon
kieszonkowy
Autor: Donald Bales
Tumaczenie: Jarosaw Gierlicki
ISBN: 83-7361-165-7
Tytu oryginau: JDBC Pocket Reference
Format: B5, stron: 196
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wprowadzenie......................................................................... 5
Konstrukcje importowania ................................................... 8
Sterowniki JDBC..................................................................... 9
Typy sterownikw......................................................................................9
Adresy URL baz danych ..........................................................................10
Ustanawianie poczenia.................................................... 17
Uywanie menedera sterownikw.......................................................17
Uywanie JNDI..........................................................................................19
Zestawy wierszy................................................................... 53
Skadnia wyrae przenonych.......................................... 54
Zarzdzanie transakcjami .................................................. 57
JDBC API ............................................................................... 57
Dynamiczne wykonywanie
polece SQL
Za pomoc obiektu mona dynamicznie wykona konstrukcje DDL SQL lub DML SQL. Obiekt otzymujemy na
podstawie obiektu poczenia, wywoujc jego metod
w nastpujcy sposb:
21
22
23
#
#
(
#
%#
(
*%
)
(
(
22
%
3
4
*
5
6
"
5
7
8
9
:
24
Wykonywanie
prekompilowanych polece SQL
Wykonywanie konstrukcji SQL przy uyciu obiektw $
moe by bardziej efektywne (z punktu widzenia programu klienta oraz bazy danych) oraz atwiejsze w programowaniu. Obiekt $ mona otrzyma z obiektu #,
wywoujc w nastpujcy sposb jego metod
:
$
#
#
(
#
%#
$
7#
7#
7#
7#
7
Gotowa konstrukcja jest bardziej efektywna, jeeli mona przygotowa j raz, a potem wykorzystywa wiele razy. A atwiejsza
w programowaniu jest dlatego, e w trakcie tworzenia konstrukcji
SQL uwalnia od obowizku tworzenia zoonych konkatenacji
25
(skleje) acuchw znakw oraz od koniecznoci uywania odpowiednich metod formatujcych daty. Zamiast tego mona jako
oznaczenia miejsc wystpowania parametrw uy znakw zapytania (<), a nastpnie przed wykonaniem konstrukcji SQL wartoci
tych parametrw ustali programowo.
Poniewa klasa $ jest rozszerzeniem klasy
, posiada jej wszystkie trzy metody uruchomieniowe. Oprcz
tego posiada take zestaw metod typu
===
, ktre su do
umieszczania w konstrukcji przed jej wykonaniem konkretnych
wartoci w miejscach oznaczonych znakami zapytania sposb
ich stosowania przedstawiono w poniszym przykadzie. Zaoono, e istniej utworzone w poprzednim przykadzie obiekty
poczenia oraz obiekty gotowej konstrukcji
.
8)#9
9#-
&#./
-:#;$ < - $()12'3')3')
=#>
* +
"
(
'*
26
Wykonywanie
procedur osadzonych
Jeeli pobranie lub zachowanie pewnej jednostkowej iloci danych
w programie wymaga wykonania wielu konstrukcji SQL, wykorzystanie procedury osadzonej jest bardziej efektywne ni kolejne
uruchamianie przez klienta wszystkich koniecznych konstrukcji.
Do uruchomienia procedury osadzonej mona uy obiektu #
3. Uzyskuje si go z obiektu #, wywoujc
w nastpujcy sposb metod #
:
#3
?
077#74
Szczegy dotyczce skadni wywoywania procedur osadzonych opisano w rozdziale Skadnia wyrae przenonych. Klasa
#3 jest rozszerzeniem klasy $, std
w identyczny sposb ustala si dla niej miejsca wystpowania
parametrw za pomoc znakw zapytania (<). Jednak tym
razem parametry te mog by typu wejciowego, wyjciowego
27
lub wejciowo-wyjciowego. Po przygotowaniu wywoania procedury osadzonej, a przed jej uruchomieniem, naley wykona jeszcze nastpujce czynnoci:
Wszystkie parametry wyjciowe musz zosta zarejestrowane
za pomoc metody
%$
, ktra pobiera
dwa argumenty. Pierwszy z nich jest pozycj odpowiedniego
znacznika parametru (<) w przygotowanym wywoaniu
(1 dla pierwszego znacznika, a nastpnie kolejno od lewej
do prawej). Drugi parametr jest jedn ze staych zdefiniowanych w 0>
?@
oznaczajc typ, co umoliwia sterownikowi rozpoznanie, jaki rodzaj danych jest zwracany przez
procedur osadzon.
Warto kadego parametru wejciowego i wejciowo-wyjciowego musi by ustalona za pomoc jednej z funkcji
===
odpowiedniej dla typu danych wystpujcych w bazie.
Na przykad:
#
28
29
30
31
Jeeli zbir moe by przegldany dwukierunkowo, do ustawiania pozycji kursora mona uywa jednej z nastpujcych metod:
3
, "
,
,
, >
oraz >
. Niezalenie od tego, czy zbir mona przeglda jedno- czy dwukierunkowo, biec pozycj kursora mona okreli za pomoc jednej z metod:
C"
,
,"E
,
E
,
lub
!(
.
32
(
22
8
8)
9
(
&
%-
-:
=
"
"
'
"
'
33
Wstawienie nowego wiersza do modyfikowalnego zbioru wynikowego wymaga najpierw przeniesienia kursora do roboczego
obszaru zwanego
(tam tworzy si nowy wiersz) za
pomoc metody >@4
!(
. Nastpnie, za pomoc metod
z rodziny ===
, naley ustali wartoci w poszczeglnych
kolumnach. Waciwego wstawienia wiersza do tabeli dokonuje
si przy uyciu metody
!(
. Na kocu trzeba z powrotem
ustawi kursor na rekordzie, na ktry wskazywa przed rozpoczciem wstawiania suy do tego metoda >@#!(
.
Aby zmodyfikowa wiersz istniejcy w zbiorze wynikowym,
trzeba najpierw ustawi kursor na danym rekordzie, a nastpnie za pomoc metod ===
wpisa do niego nowe wartoci.
Modyfikacji wiersza w tabeli dokonuje metoda !(
.
Przed usuniciem istniejcego wiersza poprzez zbir wynikowy
trzeba ustawi na wybranym wierszu kursor, a nastpnie wywoa
metod !(
.
Poniszy przykad obrazuje wykonanie tych trzech operacji (przy
zaoeniu, e poczenie istnieje):
!
!
#%&#!5$8C@C,A
!
@D$5#!%5&4@4G
34
9#-+F/
&#CAD
:
=
*
$@?
*
HHJ"/((
I
)
9#-+F/
*
HH
K(
I
)
*
"
"
'
"
'
Dynamiczne okrelanie
charakterystyki zbioru wynikowego
Do okrelania charakterystyki zbioru wynikowego w trakcie
wykonywania programu suy klasa !
B8. Istnieje
wiele sytuacji, w ktrych moe pojawi si konieczno okrelenia
35
cech otrzymanego zbioru. Na przykad, po wykonaniu dynamicznej konstrukcji #@, za pomoc obiektu !
B8 mona
ustali, co tak naprawd ta konstrukcja zwrcia.
Poniej przedstawiono sposb uzyskiwania obiektu !
B
8 dla biecego zbioru wynikowego za pomoc metody
B8
(przy zaoeniu, e poczenie istnieje):
)
!
5-
#&
++
36
"
L)
"
*M
22
"
L*
+;+2
++
Korzystajc z obiektu !
B8, program najpierw okrela liczb kolumn ujtych w zapytaniu SQL. Nastpnie, podczas
przetwarzania pierwszego wiersza zbioru wynikowego, wypisuje nagwki kolumn, uywajc nazw wystpujcych w bazie
danych. Potem program wywietla kolejno wartoci z poszczeglnych wierszy. Informacje na temat wszystkich moliwoci
obiektu !
B8 znajdziesz w podrozdziale ResultSetMetaData w rozdziale JDBC API.
37