Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00597 008427 10739866 na godz. na dobę w sumie
JDBC. Leksykon kieszonkowy - książka
JDBC. Leksykon kieszonkowy - książka
Autor: Liczba stron: 196
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-165-7 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> java - programowanie
Porównaj ceny (książka, ebook, audiobook).
Podręczny przewodnik dla programistów Javy

JDBC jest jednym z najwszechstronniejszych i najszerzej stosowanych mechanizmów umożliwiających nie tylko dostęp do danych z programów napisanych w Javie, ale również wykonywanie rozmaitych operacji na bazach danych. Kosztem wszechstronności jest złożoność -- JDBC implementuje ogromną liczbę klas, interfejsów i metod, z którymi trzeba się gruntownie zapoznać. Niemożliwością jest zapamiętanie ich wszystkich.

'JDBC. Leksykon kieszonkowy' jest podręcznym leksykonem ułatwiającym szybkie odnalezienie opisu każdej z klas, interfejsów czy metod tworzących JDBC API. Przydaje się zwłaszcza w sytuacjach, w których wiadomo, co się chce osiągnąć i potrzebna jest informacja na temat metod JDBC, które mogą w tym pomóc.

Oprócz opisu API książka zawiera także kilka krótkich rozdziałów będących swego rodzaju instrukcją obsługi JDBC, czyli przypomnieniem, w jaki sposób łączyć ze sobą różne elementy API w celu uzyskania rozwiązań konkretnych zadań.

Nie pamiętasz, jak naraz wykonać kilka operacji wstawiania lub modyfikacji lub w jaki sposób przechowywać i pobierać wielkie obiekty? Niniejsza książka na pewno odświeży Twoją pamięć.

Donald Bales jest konsultantem do spraw aplikacji komputerowych specjalizującym się w analizie, projektowaniu oraz programowaniu systemów rozproszonych. Posiada ponad pięcioletnie doświadczenie w pisaniu aplikacji w Javie operujących na bazach danych za pomocą JDBC.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK JDBC. Leksykon kieszonkowy Autor: Donald Bales T³umaczenie: Jaros³aw Gierlicki ISBN: 83-7361-165-7 Tytu³ orygina³u: JDBC Pocket Reference Format: B5, stron: 196 DODAJ DO KOSZYKA DODAJ DO KOSZYKA Podrêczny przewodnik dla programistów Javy CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE JDBC jest jednym z najwszechstronniejszych i najszerzej stosowanych mechanizmów umo¿liwiaj¹cych nie tylko dostêp do danych z programów napisanych w Javie, ale równie¿ wykonywanie rozmaitych operacji na bazach danych. Kosztem wszechstronnoġci jest z³o¿onoġæ — JDBC implementuje ogromn¹ liczbê klas, interfejsów i metod, z którymi trzeba siê gruntownie zapoznaæ. Niemo¿liwoġci¹ jest zapamiêtanie ich wszystkich. „JDBC. Leksykon kieszonkowy” jest podrêcznym leksykonem u³atwiaj¹cym szybkie odnalezienie opisu ka¿dej z klas, interfejsów czy metod tworz¹cych JDBC API. Przydaje siê zw³aszcza w sytuacjach, w których wiadomo, co siê chce osi¹gn¹æ i potrzebna jest informacja na temat metod JDBC, które mog¹ w tym pomóc. Oprócz opisu API ksi¹¿ka zawiera tak¿e kilka krótkich rozdzia³ów bêd¹cych swego rodzaju instrukcj¹ obs³ugi JDBC, czyli przypomnieniem, w jaki sposób ³¹czyæ ze sob¹ ró¿ne elementy API w celu uzyskania rozwi¹zañ konkretnych zadañ. Nie pamiêtasz, jak naraz wykonaæ kilka operacji wstawiania lub modyfikacji lub w jaki sposób przechowywaæ i pobieraæ wielkie obiekty? Niniejsza ksi¹¿ka na pewno odġwie¿y Twoj¹ pamiêæ. Donald Bales jest konsultantem do spraw aplikacji komputerowych specjalizuj¹cym siê w analizie, projektowaniu oraz programowaniu systemów rozproszonych. Posiada ponad piêcioletnie doġwiadczenie w pisaniu aplikacji w Javie operuj¹cych na bazach danych za pomoc¹ JDBC. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Spis treści Wprowadzenie...................................................n...................... 5 Konstrukcje importowania ...................................................n 8 Sterowniki JDBC...............................................n...................... 9 Typy sterowników...................................................w...................................9 Adresy URL baz danych ...................................................w.......................10 Ustanawianie połączenia...................................................n. 17 Używanie menedżera sterowników.....................w..................................17 Używanie JNDI...................................................w.......................................19 Pzeglądanie metadanych bazy danych............................. 20 Dynamiczne wykonywanie polceń SQL........................... 21 Wykonywanie konstrukcji DDL ...................................................w..........21 Wykonywanie konstrukcji INSERT, UPDATE oraz DELETE ...........22 Wykonywanie konstrukcji SELECT...................................................w....23 Wykonywanie prekompilowanych poleceń SQL ............ 25 Wykonywanie procedur osadzonych.......................n.......... 27 Otrzymywanie wyników zapytań..................................... 29 Przeglądanie zbioru wynikowego ...................................................w......31 Pobieranie wartości z kolumn ...................................................w.............32 Wstawianie, modyfikowanie i usuwanie wierszy za pomocą zbioru wynikowego ...................................................w..........33 Dynamiczne określanie charakterystyki zbioru wynikowego ..........35 Mapowanie typów danych SQL i Javy........................n.... 38 Obsługa wartości NULL ...................................................n.. 38 Wykrywanie wartości NULL za pomocą metody wasNull().............40 Wykrywanie wartości NULL za pomocą obiektu BigDecimal..........41 Ustawianie wartości w kolumnie jako NULL......................................42 Wstawianie i modyfikowanie grupowe ........................... 42 Praca z wielkimi obiektami ............................................... 44 Wstawienie obiektu BLOB ...................................................w...................45 Pobranie obiektu BLOB ...................................................w........................46 Typy danych definiowane przez użytkownika ............... 47 Tworzenie klas Javy dla typów UDT...................................................w..48 Aktualizowanie mapy typów ...................................................w..............50 Wstawianie typów UDT................................w...........................................51 Pobieranie typów UDT...............................................w..............................52 Zestawy wierszy...................................................n................ 53 Składnia wyrażeń przenośnych...........................n............... 54 Zarządzanie transakcjami .................................................. 57 JDBC API ...................................................n............................ 57 Dynamiczne wykonywanie poleceń SQL Za pomocą obiektu 5VCVGOGPV można dynamicznie wykonać kon- strukcje DDL SQL lub DML SQL. Obiekt 5VCVGOGPV otzymujemy na podstawie obiektu połączenia, wywołując jego metodę ETGCVG5VC VGOGPV w następujący sposób: 5VCVGOGPVUVOVPWNN VT[] UVOVEQPPETGCVG5VCVGOGPV   _ ECVEJ 53. ZEGRVKQPG ]  _ Obiekt 5VCVGOGPV posiada trzy metody służące do wykonywania SQL-a: GZGEWVG , GZGEWVG7RFCVG oraz GZGEWVG3WGT[ . Wybór odpowiedniej metody zależy od typu konstrukcji SQL, która ma zostać wykonana. Wykonywanie konstrukcji DDL Metoda GZGEWVG jest najodpowiedniejsza dla poleceń DDL czy całkowicie dynamicznych poleceń SQL. Zwraca ona wartość VTWG, jeżeli wykonanie konstrukcji SQL spowodowało wygenerowanie zbioru wynikowego. Zbiór wynikowy można otrzymać wywołując dla obiektu konstrukcji metodę IGV4GUWNV5GV . Jeżeli metoda GZG EWVG zwróci wartość HCNUG, można za pomocą metody IGV7RFC VG QWPV obiektu 5VCVGOGPV określić liczbę wierszy objętych dzia- łaniem konstrukcji DML. Jeśli natomiast w trakcie wykonywania polecenia DDL wystąpi błąd, zostanie zgłoszony wyjątek 53. ZEGR VKQP. Oto przykład, w którym zostaje utworzona tabela o nazwie 2 4510 (przy założeniu, że połączenie — EQPP — istnieje): Dynamiczne wykonywanie poleceń SQL 21 5VCVGOGPVUVOVPWNN VT[] UVOVEQPPETGCVG5VCVGOGPV  UVOVGZGEWVG ETGCVGVCDNG2 4510  RGTUQPAKFKPVGIGTPQVPWNNRTKOCT[MG[ NCUVAPCOGXCTEJCT   HKTUVAPCOGXCTEJCT   DKTVJAFCVGFCVG IGPFGTXCTEJCT     UVOVENQUG  UVOVPWNN _ ECVEJ 53. ZEGRVKQPG ]  _ HKPCNN[] KH UVOVPWNN VT[]UVOVENQUG _ECVEJ ZEGRVKQPK ]_ _ Wykonywanie konstrukcji INSERT, UPDATE oraz DELETE Metoda GZGEWVG7RFCVG nadaje się do wykonywania konstrukcji DML innych niż konstrukcja SELECT i zwraca liczbę wierszy objętych działaniem danej konstrukcji SQL. Poniżej przedstawiono przykład, w którym do tabeli 2 4510 utworzonej w poprzednim przykładzie zostaje wstawiony nowy wiersz (przy założeniu, że połączenie — EQPP — istnieje): KPVTQYU 5VCVGOGPVUVOVPWNN VT[] UVOVEQPPETGCVG5VCVGOGPV  TQYUUVOVGZGEWVG7RFCVG KPUGTVKPVQ2 4510  RGTUQPAKF 22 JDBC. Leksykon kieszonkowy NCUVAPCOG HKTUVAPCOG DKTVJAFCVG IGPFGT  XCNWGU    1   ,1*0  ]F  _  /    UVOVENQUG  UVOVPWNN KH TQYU ] 5[UVGOGTTRTKPVNP $đæFYMQPUVTWMELK YUVCYKQPQ TQYU   _ _ ECVEJ 53. ZEGRVKQPG ]  _ HKPCNN[] KH UVOVPWNN VT[]UVOVENQUG _ECVEJ ZEGRVKQPK ]_ _ Wykonywanie konstrukcji SELECT Metoda GZGEWVG3WGT[ zwraca obiekt 4GUWNV5GV, co świetnie nadaje się do wykonywania konstrukcji SQL SELECT. Poniżej przedsta- wiono przykład zapytania wykonanego dla tabeli 2 4510 (przy założeniu, że połączenie — EQPP — istnieje): 4GUWNV5GVTUGVPWNN 5VCVGOGPVUVOVPWNN VT[] TQYU UVOVEQPPETGCVG5VCVGOGPV  TUGVUVOVGZGEWVG3WGT[ Dynamiczne wykonywanie poleceń SQL 23 UGNGEVRGTUQPAKF NCUVAPCOG HKTUVAPCOG DKTVJAFCVG IGPFGT HTQO2 4510 YJGTGRGTUQPAKF  YJKNG TUGVPGZV ] TQYU  KF1UQD[TUGVIGV+PV   NCUVAPCOGTUGVIGV5VTKPI   HKTUVAPCOGTUGVIGV5VTKPI   FCVC7TTUGVIGV CVG   IGPFGTTUGVIGV5VTKPI   5[UVGOQWVRTKPVNP KF1UQD[  V NCUVAPCOG  V HKTUVAPCOG  V FCVC7T  V IGPFGT  _ TUGVENQUG  TUGVPWNN UVOVENQUG  UVOVPWNN _ ECVEJ 53. ZEGRVKQPG ]  _ HKPCNN[] KH TUGVPWNN VT[]TUGVENQUG _ECVEJ ZEGRVKQPK ]_ KH UVOVPWNN VT[]UVOVENQUG _ECVEJ ZEGRVKQPK ]_ _ Warto zwrócić uwagę, że w trzech ostatnich przykładach obiekt 5VCVGOGPV był zawsze zamykany. Zamykanie obiektu 5VCVGOGPV 24 JDBC. Leksykon kieszonkowy zaraz po tym, gdy przestaje on być potrzebny, zmniejsza zużycie zasobów zarówno w programie klienta, jak i w bazie daniych. Wykonywanie prekompilowanych poleceń SQL Wykonywanie konstrukcji SQL przy użyciu obiektów 2TGRCTGF 5VCVGOGPV może być bardziej efektywne (z punktu widzenia pro- gramu klienta oraz bazy danych) oraz łatwiejsze w programowa- niu. Obiekt 2TGRCTGF5VCVGOGPV można otrzymać z obiektu QPPGEVKQP, wywołując w następujący sposób jego metodę RTGRCTG5VCVGOGPV : 2TGRCTGF5VCVGOGPVRUVOVPWNN VT[] RUVOVEQPPRTGRCTG5VCVGOGPV KPUGTVKPVQ2 4510  RGTUQPAKF NCUVAPCOG HKTUVAPCOG DKTVJAFCVG IGPFGT  XCNWGU  ! ! ! ! !   _ ECVEJ 53. ZEGRVKQPG ]  _ Gotowa konstrukcja jest bardziej efektywna, jeżeli można przygo- tować ją raz, a potem wykorzystywać wiele razy. A łatwiejsza w programowaniu jest dlatego, że w trakcie tworzenia konstrukcji SQL uwalnia od obowiązku tworzenia złożonych konkatenacji Wykonywanie prekompilowanych poleceń SQL 25 (sklejeń) łańcuchów znaków oraz od konieczności używania odpo- wiednich metod formatujących daty. Zamiast tego można jako oznaczenia miejsc występowania parametrów użyć znaków zapy- tania (!), a następnie przed wykonaniem konstrukcji SQL wartości tych parametrów ustalić programowo. Ponieważ klasa 2TGRCTGF5VCVGOGPV jest rozszerzeniem klasy 5VCVG OGPV, posiada jej wszystkie trzy metody uruchomieniowe. Oprócz tego posiada także zestaw metod typu UGV::: , które służą do umieszczania w konstrukcji przed jej wykonaniem konkretnych wartości w miejscach oznaczonych znakami zapytania — sposób ich stosowania przedstawiono w poniższym przykładzie. Zało- żono, że istnieją utworzone w poprzednim przykładzie obiekty połączenia — EQPP oraz obiekty gotowej konstrukcji — RUVOV. VT[] RUVOVUGV+PV   RUVOVUGV5VTKPI  1   RUVOVUGV5VTKPI ,1*0  RUVOVUGV CVG LCXCUSN CVGXCNWG1H   RUVOVUGV5VTKPI (  TQYURUVOVGZGEWVG7RFCVG  RUVOVENQUG  RUVOVPWNN KH TQYU ] 5[UVGOGTTRTKPVNP $đæFYIQVQYGLMQPUVTWMELK YUVCYKQPQ TQYU   _ _ ECVEJ 53. ZEGRVKQPG ]  _ Do znaczników parametrów (!) występujących w konstrukcji SQL metody odwołują się począwszy od numeru 1, a potem kolejno od lewej do prawej. Tak więc w powyższym przykładzie polu RGT UQPAKF zajmującemu pierwszą pozycję zostaje przypisana wartość 26 JDBC. Leksykon kieszonkowy liczbowa 2 (typu KPV), polu NCUVAPCOG, zajmującemu pozycję drugą, zostaje przypisana wartość łańcucha znaków  1  itd. Po ustaleniu wartości wszystkich parametrów konstrukcja zostaje uruchomiona poprzez wywołanie metody GZGEWVG7RFCVG obiektu 2TGRCTGF5VC VGOGPV. Ponieważ treść konstrukcji SQL została przygotowana wcześniej, nie jest ona przekazywana jako parametr do żadnej z metod uruchomieniowych obiektu 2TGRCTGF5VCVGOGPV. Wykonywanie procedur osadzonych Jeżeli pobranie lub zachowanie pewnej jednostkowej ilości danych w programie wymaga wykonania wielu konstrukcji SQL, wyko- rzystanie procedury osadzonej jest bardziej efektywne niż kolejne uruchamianie przez klienta wszystkich koniecznych konstrukcji. Do uruchomienia procedury osadzonej można użyć obiektu CN NCDNG5VCVGOGPV. Uzyskuje się go z obiektu QPPGEVKQP, wywołując w następujący sposób metodę RTGRCTG CNN : CNNCDNG5VCVGOGPVEUVOVPWNN VT[] EUVOVEQPPRTGRCTG CNN ]!ECNNCFF !! _   _ ECVEJ 53. ZEGRVKQPG ]  _ Szczegóły dotyczące składni wywoływania procedur osadzo- nych opisano w rozdziale „Składnia wyrażeń przenośnych”. Klasa CNNCDNG5VCVGOGPV jest rozszerzeniem klasy 2TCRCTGF5VCVGOGPV, stąd w identyczny sposób ustala się dla niej miejsca występowania parametrów — za pomocą znaków zapytania (!). Jednak tym razem parametry te mogą być typu wejściowego, wyjściowego Wykonywanie procedur osadzonych 27 lub wejściowo-wyjściowego. Po przygotowaniu wywołania proce- dury osadzonej, a przed jej uruchomieniem, należy wykonać jesz- cze następujące czynności: • Wszystkie parametry wyjściowe muszą zostać zarejestrowane za pomocą metody TGIKUVGT1WV2CTCOGVGTU , która pobiera dwa argumenty. Pierwszy z nich jest pozycją odpowiedniego znacznika parametru (!) w przygotowanym wywołaniu (1 dla pierwszego znacznika, a następnie kolejno od lewej do prawej). Drugi parametr jest jedną ze stałych zdefiniowa- nych w LCXCUSN6[RGU oznaczającą typ, co umożliwia sterow- nikowi rozpoznanie, jaki rodzaj danych jest zwracany przez procedurę osadzoną. • Wartość każdego parametru wejściowego i wejściowo-wyj- ściowego musi być ustalona za pomocą jednej z funkcji UGV ::: odpowiedniej dla typu danych występujących w bazie. Na przykład: VT[] EUVOVEQPPRTGRCTG CNN ]!ECNNCFF !! _  EUVOVTGIKUVGT1WV2CTCOGVGT 6[RGU07/ 4+  EUVOVUGV QWDNG   EUVOVUGV QWDNG    _ ECVEJ 53. ZEGRVKQPG ]  _ Do uruchomienia procedury osadzonej należy wykorzystać me- todę GZGEWVG . Aby pobrać wartość któregoś z parametrów wyj- ściowych procedury osadzonej, należy w przedstawiony poniżej sposób użyć jednej z metod IGV::: obiektu CNNCDNG5VCVGOGPV — odpowiedniej dla danego typu danych SQL: 28 JDBC. Leksykon kieszonkowy FQWDNGCPUYGT VT[] EUVOVEQPPRTGRCTG CNN ]!ECNNCFF !! _  EUVOVTGIKUVGT1WV2CTCOGVGT 6[RGU07/ 4+  EUVOVUGV QWDNG   EUVOVUGV QWDNG   EUVOVGZGEWVG  CPUYGTEUVOVIGV QWDNG   EUVOVENQUG  _ ECVEJ 53. ZEGRVKQPG ]  _ HKPCNN[] KH EUVOVPWNN VT[]EUVOVENQUG _ ECVEJ 53. ZEGRVKQPK ]_ _ Otrzymywanie wyników zapytań Wyniki wykonania konstrukcji SELECT są zwracane przez metodę GZGEWVG3WGT[ w postaci zbioru wynikowego (4GUWNV5GV). Obiekt 4GUWNV5GV prezentuje zbiór wynikowy w postaci tabeli zawierają- cej wiersze i kolumny. Może on być przeglądany i modyfikowany, może także być wrażliwy na zmiany w bazie danych (jeżeli ste- rownik i baza danych oferują taką możliwość dla zapytań). 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 TG CVG5VCVGOGPV , RTGRCTG5VCVGOGPV lub RTGRCTG CNN obiektu QP PGEVKQP. Metody te pobierają dwa dodatkowe argumenty: Otrzymywanie wyników zapytań 29 EQPEWTTGPE[EQPUVCPV (stała współbieżności obiektu 4GUWNV5GV) Określa, czy zbiór wynikowy może być tylko przeglądanyi, czy możliwe będzie także dokonywanie za jego pomocą modyfikacji. Dostępne są dwie wartości stałej tego typu: 10 74A4 # A10.; 10 74A72 #6#$. V[RGEQPUVCPV (stała typu obiektu 4GUWNV5GV) 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: 6;2 A(149#4 A10.; Dla zbioru wynikowego przeglądanego tylko w przód, niewrażliwego na modyfikacje. 6;2 A5 41..A+05 05+6+8 Dla zbioru wynikowego przeglądanego dwukierun- kowo, niewrażliwego na modyfikacje. 6;2 A5 41..A5 05+6+8 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 — EQPP — istnieje): 4GUWNV5GVTUGVPWNN 5VCVGOGPVUVOVPWNN VT[] TQYU UVOVEQPPETGCVG5VCVGOGPV 30 JDBC. Leksykon kieszonkowy 4GUWNV5GV 10 74A72 #6#$.  4GUWNV5GV6;2 A5 41..A5 05+6+8  TUGVUVOVGZGEWVG3WGT[ UGNGEVRGTUQPAKF NCUVAPCOG HKTUVAPCOG DKTVJAFCVG IGPFGT HTQO2 4510 YJGTGRGTUQPAKF   _ ECVEJ 53. ZEGRVKQPG ]  _ 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 PGZV . Zazwyczaj ta operacja wykonywana jest w pętli o na przykład takiej strukturze (przy założeniu, że połą- czenie — EQPP — istnieje): 4GUWNV5GVTUGVPWNN 5VCVGOGPVUVOVPWNN VT[] TQYU UVOVEQPPETGCVG5VCVGOGPV  TUGVUVOVGZGEWVG3WGT[ UGNGEV  YJKNG TUGVPGZV ]  _  _ ECVEJ 53. ZEGRVKQPG ]  _ 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: CDUQNWVG , HKTUV , NCUV , PGZV , RTGXKQWU oraz TGNCVKXG . 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: KU#HVGT.CUV , KU$GHQTG(KTUV , KU(KTUV , KU.CUV lub IGV4QY . 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 IGV::: 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 — EQPP — istnieje): KPVRGTUQP+F 5VTKPINCUV0COGPWNN 5VTKPIHKTUV0COGPWNN LCXCUSN CVGDKTVJ CVGPWNN 5VTKPIIGPFGTPWNN KPVTQYU 4GUWNV5GVTUGVPWNN 5VCVGOGPVUVOVPWNN VT[] UVOVEQPPETGCVG5VCVGOGPV  TUGVUVOVGZGEWVG3WGT[ UGNGEVRGTUQPAKF NCUVAPCOG HKTUVAPCOG DKTVJAFCVG IGPFGT HTQO2 4510 YJGTGRGTUQPAKF  YJKNG TUGVPGZV ] 32 JDBC. Leksykon kieszonkowy TQYU  RGTUQP+FTUGVIGV+PV   NCUV0COGTUGVIGV5VTKPI   HKTUV0COGTUGVIGV5VTKPI   DKTVJ CVGTUGVIGV CVG   IGPFGTTUGVIGV5VTKPI    _ TUGVENQUG  TUGVPWNN UVOVENQUG  UVOVPWNN _ ECVEJ 53. ZEGRVKQPG ]  _ HKPCNN[] KH TUGVPWNN VT[]TUGVENQUG _ECVEJ ZEGRVKQPK ]_ KH UVOVPWNN VT[]UVOVENQUG _ECVEJ ZEGRVKQPK ]_ _ W powyższym przykładzie zmiennej RGTUQP+F typu KPV zostaje przypisana wartość znajdująca się w kolumnie RGTUQPAKF zbioru wynikowego. Kolumna ta występuje w zbiorze wynikowym jako pierwsza, stąd w wywołaniu metody IGV+PV podanym indeksem jest liczba 1. Zmiennej NCUV0COG typu 5VTKPI przypisana jest wartość z kolumny NCUVAPCOG, pobrana ze zbioru wynikowego za pomocą metody IGV5VTKPI , 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 KPUGTV TQY (tam tworzy się nowy wiersz) za pomocą metody OQXG6Q+PUGTV4QY . Następnie, za pomocą metod z rodziny WRFCVG::: , należy ustalić wartości w poszczególnych kolumnach. Właściwego wstawienia wiersza do tabeli dokonuje się przy użyciu metody KPUGTV4QY . 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 OQXG6Q WTTGPV4QY . Aby zmodyfikować wiersz istniejący w zbiorze wynikowym, trzeba najpierw ustawić kursor na żądanym rekordzie, a następ- nie za pomocą metod WRFCVG::: wpisać do niego nowe wartości. Modyfikacji wiersza w tabeli dokonuje metoda WRFCVG4QY . Przed usunięciem istniejącego wiersza poprzez zbiór wynikowy trzeba ustawić na wybranym wierszu kursor, a następnie wywołać metodę FGNGVG4QY . Poniższy przykład obrazuje wykonanie tych trzech operacji (przy założeniu, że połączenie — EQPP — istnieje): 4GUWNV5GVTUGVPWNN 5VCVGOGPVUVOVPWNN VT[] UVOVEQPPETGCVG5VCVGOGPV 4GUWNV5GV 10 74A72 #6#$.  4GUWNV5GV6;2 A5 41..A5 05+6+8  TUGVUVOVGZGEWVG3WGT[ UGNGEVRGTUQPAKF NCUVAPCOG HKTUVAPCOG DKTVJAFCVG IGPFGT HTQO2 4510  9UVCYKGPKGYKGTUC TUGVOQXG6Q+PUGTV4QY  TUGVWRFCVG+PV   34 JDBC. Leksykon kieszonkowy TUGVWRFCVG5VTKPI  17)*  TUGVWRFCVG5VTKPI 2.#;  TUGVWRFCVG0WNN   TUGVWRFCVG0WNN   TUGVKPUGTV4QY  TUGVOQXG6Q WTTGPV4QY   OQF[HKMQYCPKGYKGTUC TUGVCDUQNWVG   TUGVWRFCVG5VTKPI  17)*  TUGVWRFCVG4QY  7UWPKúEKGYKGTUC TUGVCDUQNWVG   TUGVFGNGVG4QY  TUGVENQUG  TUGVPWNN UVOVENQUG  UVOVPWNN _ ECVEJ 53. ZEGRVKQPG ]  _ HKPCNN[] KH TUGVPWNN VT[]TUGVENQUG _ECVEJ ZEGRVKQPK ]_ KH UVOVPWNN VT[]UVOVENQUG _ECVEJ ZEGRVKQPK ]_ _ Dynamiczne określanie charakterystyki zbioru wynikowego Do określania charakterystyki zbioru wynikowego w trakcie wykonywania programu służy klasa 4GUWNV5GV/GVC CVC. 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 5 . 6, za pomocą obiektu 4GUWNV5GV/GVC CVC można ustalić, co tak naprawdę ta konstrukcja zwróciła. Poniżej przedstawiono sposób uzyskiwania obiektu 4GUWNV5GV/G VC CVC dla bieżącego zbioru wynikowego za pomocą metody IGV /GVC CVC (przy założeniu, że połączenie — EQPP — istnieje): KPVEQNU 4GUWNV5GVTUGVPWNN 5VCVGOGPVUVOVPWNN 4GUWNV5GV/GVC CVCTUOFPWNN VT[] UVOVEQPPETGCVG5VCVGOGPV  TUGVUVOVGZGEWVG3WGT[ UGNGEVRGTUQPAKF NCUVAPCOG HKTUVAPCOG DKTVJAFCVG IGPFGT HTQO2 4510 YJGTGRGTUQPAKF  YJKNG TUGVPGZV ] TQYU  KH TQYU ] TUOFTUGVIGV/GVC CVC  EQNUTUOFIGV QNWOP QWPV  KH EQNU  ] HQT KPVKKEQNUK ] KH K  ] 5[UVGOQWVRTKPV  V TUOFIGV QNWOP0COG K  _ GNUG] 5[UVGOQWVRTKPV TUOFIGV QNWOP0COG K  _ _ 5[UVGOQWVRTKPVNP   36 JDBC. Leksykon kieszonkowy _ _ KH EQNU  ] HQT KPVKKEQNUK ] KH K  ] 5[UVGOQWVRTKPV  V TUGVIGV5VTKPI K  _ GNUG] 5[UVGOQWVRTKPV TUGVIGV5VTKPI K  _ _ 5[UVGOQWVRTKPVNP   _ _ TUGVENQUG  TUGVPWNN UVOVENQUG  UVOVPWNN _ ECVEJ 53. ZEGRVKQPG ]  _ Korzystając z obiektu 4GUWNV5GV/GVC CVC, 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 4GUWNV5GV/GVC CVC znajdziesz w podrozdziale „ResultSet- MetaData” w rozdziale „JDBC API”. Otrzymywanie wyników zapytań 37
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

JDBC. Leksykon kieszonkowy
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: