Aplikacje bazodanowe. dr inż. Arkadiusz Mirakowski

Podobne dokumenty
Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Programowanie w języku Java. Bazy danych SQLite w Javie

JAVA I BAZY DANYCH. MATERIAŁY:

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

JAVA bazy danych. na bazie: Język Java - Podstawy Programowania - Jacek Rumiński

Podejście obiektowe do relacyjnych baz danych Hibernate.

Łączenie z bazą danych przykładowa klasa infpolaczenie import java.sql.drivermanager; import java.sql.connection; import java.sql.

Programowanie komputerów. Wykład 10: Dostęp do baz danych z poziomu aplikacji Java. (JDBC Database Access)

Protokół JDBC współpraca z relacyjnymi bazami danych

Bazy danych SQLite w Javie

Protokół JDBC współpraca z relacyjnymi bazami danych lab3

Połączenie z bazą danych

Wprowadzenie do JDBC z wykorzystaniem bazy H2

Bazy danych. dr inż. Arkadiusz Mirakowski

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

DB+frontend Inne języki H2. Bazy Danych i Systemy informacyjne Wykład 9. Piotr Syga

JDBC (Java Database Connectivity vit )

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

przygotował: Bazy danych Paweł Kasprowski Wersja 2006Z

Aplikacje Internetowe

Połączenia między bazami danych i programem w języku Java część 2

Java Database Connectivity

Java i bazy danych. 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład.

Typy sterowników. Rozdział 21 JDBC. Podstawowe kroki aplikacji. Historia. Program napisany w języku Java JDBC API. Menadżer sterowników JDBC

JDBC. Plan ćwiczenia. Wywoływanie poleceń SQL z języków programowania. Plan ćwiczenia cd. Wprowadzenie do laboratorium

Bartosz Jachnik - Kino

Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych

Rozdział 9 Obsługa baz danych w języku Java

JDBC - Obsługa baz danych w języku Java

Podstawy otwartych języków programowania Java Database Connectivity (JDBC)

Aplikacje Internetowe

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Kurs programowania aplikacji bazodanowych

Wykład 12. Programowanie serwera MS SQL 2005 w C#

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

Database Connectivity

Wzorce logiki dziedziny

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Liczby pseudolosowe. Math. Różne sposoby generowania liczb pseudolosowych. Wybrane metody klasy Math

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Programowanie obiektowe

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Ćwiczenia 2 IBM DB2 Data Studio

Języki i metody programowania Java. Wykład 2 (część 2)

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Metody dostępu do danych

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium

PL/SQL. Zaawansowane tematy PL/SQL

Programowanie Obiektowe Java

Programowanie Obiektowe Java

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Składowane procedury i funkcje

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Hurtownia Świętego Mikołaja projekt bazy danych

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter

1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?

Zaawansowane aplikacje WWW - laboratorium

Programowanie w języku Java

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Programowanie obiektowe

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Podstawy języka Java. przygotował:

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Java rozszerzenie. dr. A. Dawid

prepared by: Programowanie WWW Model-View-Controller

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Projektowanie aplikacji internetowych laboratorium

Bazy Danych i Systemy informacyjne Wykład 5. Piotr Syga

Leszek Stasiak Zastosowanie technologii LINQ w

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

KLASY, INTERFEJSY, ITP

Throwable. Wyjatek_1(int x_) { x = x_; } int podaj_x()

Języki i metody programowania Java Lab2 podejście obiektowe

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Wzorce dystrybucji i wspólbieżności autonomicznej

Klasy i obiekty cz II

Pakiety podprogramów Dynamiczny SQL

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Java Database Connectivity

Podstawy programowania obiektowego

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Post-relacyjne bazy danych

Transkrypt:

Aplikacje bazodanowe dr inż. Arkadiusz Mirakowski

Plan prezentacji interfejs ODBC interfejs JDBC rodzaje sterowników JDBC niezbędne biblioteki interfejsu JDBC instalacja i konfiguracja sterownika JDBC współpracującego z MS SQL Server podstawowe operacje na tabeli SQL za pomocą Javy 2

Interfejs ODBC definicja budowa wady 3

Interfejs JDBC definicja sterowniki 4

Rodzaje sterowników JDBC JDBC-ODBC bridge driver Java plus native code driver JDBC-Net pure Java driver Proprietary protocol pure Java Driver 5

Niezbędne biblioteki JDBC java.sql.driver java.sql.drivermanager java.sql.connection java.sql.statement java.sql.preparedstatement java.sql.resultset java.sql.sqlexception 6

Przygotowanie środowiska JAVA pobranie sterownika Microsoft JDBD Driver for SQL Server: https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoftjdbc-driver-for-sql-server?view=sql-server-2017 dowolna lokalizacja 7

8 instalacja sterownika JDBC w NetBeans

9 pojawi się ścieżka automatycznie do

10

11

połączenie sterownika JDBC z programem (pakietem) JAVA pakiet 12

13

Test połączenia z bazą danych Niezbędne dane: nazwa sterownika: 14 nazwa bazy danych, login/hasło związane z logowaniem do SQL Server,

15 1. package bazydanych; 2. import java.sql.connection; 3. import java.sql.drivermanager; 4. import java.sql.resultset; 5. import java.sql.sqlexception; 6. import java.sql.statement; 7. public class p01 8. { 9. public static void main(string[] args) 10. { 11. Connection con; 12. try{ 13. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 14. con = DriverManager.getConnection("jdbc:sqlserver://"+ 15. "localhost:1433;databasename=test;"+ 16. "user=sa;password=zaq1@wsx;"); 17. System.out.println("Połączono z bazą danych"); 18. con.close(); 19. } 20. catch(sqlexception error_polaczenie) { 21. System.out.println("Błąd połączenia z bazą danych");} 22. catch(classnotfoundexception error_sterownik) { 23. System.out.println("Brak sterownika");} 24. } 25. }

Obsługa wyjątków 1. 2. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 3. con = DriverManager.getConnection("jdbc:sqlserver://"+ 4. "localhost:1433;databasename=test_abc;"+ 5. "user=sa;password=zaq1@wsx;"); 6. System.out.println("Połączono z bazą danych"); 7. con.close(); 8. } 9. catch(sqlexception error_polaczenie) { 10. System.out.println("Błąd połączenia z bazą danych");} 11. 1. 2. Class.forName("sqlserver.jdbc.SQLServerDriver"); 3. con = DriverManager.getConnection("jdbc:sqlserver://"+ 4. "localhost:1433;databasename=test;"+ 5. "user=sa;password=zaq1@wsx;"); 6. System.out.println("Połączono z bazą danych"); 7. con.close(); 8. } 9. 10. catch(classnotfoundexception error_sterownik) { 11. System.out.println("Brak sterownika");} 12. 16

Wyświetlenie ilości rekordów 1. package bazydanych; 2. import java.sql.connection; 3. import java.sql.drivermanager; 4. import java.sql.sqlexception; 5. import java.sql.resultset; 6. import java.sql.statement; 7. 8. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 9. con = DriverManager.getConnection("jdbc: ;"); 10. 11. Statement zapytanie = con.createstatement(); 12. String sql="select count(*) from waga"; 13. ResultSet wynik_zapytania = zapytanie.executequery(sql); 14. wynik_zapytania.next(); 15. int ile_rek = wynik_zapytania.getint(1); 16. System.out.println(ile_rek); 17. con.close(); 18. 19. } 20. catch 21. 17

Wyświetlenie wybranych rekordów 1. 2. Statement zapytanie = con.createstatement(); 3. String sql="select lp,nazwisko from waga"; 4. ResultSet wynik_zapytania = zapytanie.executequery(sql); 5. while(wynik_zapytania.next()) 6. { 7. System.out.print(wynik_zapytania.getString(1)+" "); 8. System.out.println(wynik_zapytania.getString(2)); 9. } 10. con.close(); 11. 18

Ile kolumn? 1. 2. import java.sql.connection; 3. import java.sql.drivermanager; 4. import java.sql.resultset; 5. import java.sql.sqlexception; 6. import java.sql.statement; 7. import java.sql.resultsetmetadata; 8. 9. Statement zapytanie = con.createstatement(); 10. String sql="select * from waga"; 11. ResultSet wynik1 = zapytanie.executequery(sql); 12. ResultSetMetaData wynik2 = wynik1.getmetadata(); 13. int ile_kolumn = wynik2.getcolumncount(); 14. System.out.println("Liczba kolumn: "+ile_kolumn); 15. System.out.println(" "); 16. for (int i=1;i<=ile_kolumn;i++) 17. { 18. String KolNazwa = wynik2.getcolumnname(i); 19. String KolTyp = wynik2.getcolumntypename(i); 20. System.out.println("Kolumna:"+KolNazwa+" -> Typ: "+KolTyp); 21. } 22. con.close(); 23. 19

Wyświetlenie wszystkich pól rekordów 1. 2. Statement zapytanie = con.createstatement(); 3. String sql="select * from waga"; 4. ResultSet wynik_zapytania = zapytanie.executequery(sql); 5. ResultSetMetaData wynik2 = wynik_zapytania.getmetadata(); 6. int ile_kolumn = wynik2.getcolumncount(); 7. while(wynik_zapytania.next()) 8. { 9. for (int i=1;i<=ile_kolumn;i++) 10. { 11. System.out.print(wynik_zapytania.getString(i)+" - "); 12. } 13. System.out.println(" <koniec>"); 14. } 15. con.close(); 16. 20

Update wybranej wartości rekordu (1 o ) 1. 2. Statement zapytanie1 = con.createstatement(); 3. String sql1="update waga set waga=70 where lp=1"; 4. zapytanie1.executeupdate(sql1); 5. zapytanie1.close(); 6. Statement zapytanie2 = con.createstatement(); 7. String sql2="update waga set nazwisko='kowalska' where lp=1"; 8. zapytanie2.executeupdate(sql2); 9. zapytanie2.close(); 10. Statement zapytanie = con.createstatement(); 11. String sql="select * from waga"; 12. ResultSet wynik = zapytanie.executequery(sql); 13. ResultSetMetaData wynik_kol = wynik.getmetadata(); 14. int ile_kolumn = wynik_kol.getcolumncount(); 15. while(wynik.next()) 16. { 17. for (int i=1;i<=ile_kolumn;i++) 18. {System.out.print(wynik.getString(i)+" ");} 19. System.out.println(" "); 20. } 21. zapytanie.close(); 22. con.close(); 23. 21

Update wybranej wartości rekordu (2 o ) 1. 2. import java.sql.preparedstatement; 3. 4. String sql1="update waga set waga=? where lp=1"; 5. PreparedStatement zapytanie1 = con.preparestatement(sql1); 6. zapytanie1.setint(1,95); 7. zapytanie1.executeupdate(); 8. zapytanie1.close(); 9. 10. Statement zapytanie = con.createstatement(); 11. String sql="select * from waga"; 12. ResultSet wynik = zapytanie.executequery(sql); 13. ResultSetMetaData wynik_kol = wynik.getmetadata(); 14. int ile_kolumn = wynik_kol.getcolumncount(); 15. while(wynik.next()) 16. { 17. for (int i=1;i<=ile_kolumn;i++) 18. { 19. System.out.print(wynik.getString(i)+" "); 20. } 21. System.out.println(" "); 22. } 23. zapytanie.close(); 24. con.close(); 25. 22

Update wybranej wartości rekordu (3 o ) 1. 2. String sql2="update waga set nazwisko=? where lp=?"; 3. PreparedStatement zapytanie2 = con.preparestatement(sql2); 4. String nowe_nazwisko="kowalski"; 5. int lp_nowe_nazwisko=1; 6. zapytanie2.setstring(1,nowe_nazwisko); 7. zapytanie2.setint(2,lp_nowe_nazwisko); 8. zapytanie2.executeupdate(); 9. zapytanie2.close(); 10. 11. Statement zapytanie = con.createstatement(); 12. String sql="select * from waga"; 13. ResultSet wynik = zapytanie.executequery(sql); 14. ResultSetMetaData wynik_kol = wynik.getmetadata(); 15. int ile_kolumn = wynik_kol.getcolumncount(); 16. while(wynik.next()) 17. { 18. for (int i=1;i<=ile_kolumn;i++) 19. { 20. System.out.print(wynik.getString(i)+" "); 21. } 22. System.out.println(" "); 23. } 24. zapytanie.close(); 25. con.close(); 23

Wstawienie nowego rekordu 1. 2. String sql2="insert into waga values(?,?)"; 3. PreparedStatement zapytanie2 = con.preparestatement(sql2); 4. zapytanie2.setstring(1,"nowicki"); 5. zapytanie2.setint(2,110); 6. zapytanie2.executeupdate(); 7. zapytanie2.close(); 8. 9. Statement zapytanie = con.createstatement(); 10. String sql="select * from waga"; 11. ResultSet wynik = zapytanie.executequery(sql); 12. ResultSetMetaData wynik_kol = wynik.getmetadata(); 13. int ile_kolumn = wynik_kol.getcolumncount(); 14. while(wynik.next()) 15. { 16. for (int i=1;i<=ile_kolumn;i++) 17. { 18. System.out.print(wynik.getString(i)+" "); 19. } 20. System.out.println(" "); 21. } 22. zapytanie.close(); 23. con.close(); 24

Usunięcie rekordu 1. 2. String sql2="delete from waga where nazwisko=?"; 3. PreparedStatement zapytanie2 = con.preparestatement(sql2); 4. zapytanie2.setstring(1,"nowicki"); 5. zapytanie2.executeupdate(); 6. zapytanie2.close(); 7. 8. Statement zapytanie = con.createstatement(); 9. String sql="select * from waga"; 10. ResultSet wynik = zapytanie.executequery(sql); 11. ResultSetMetaData wynik_kol = wynik.getmetadata(); 12. int ile_kolumn = wynik_kol.getcolumncount(); 13. while(wynik.next()) 14. { 15. for (int i=1;i<=ile_kolumn;i++) 16. { 17. System.out.print(wynik.getString(i)+" "); 18. } 19. System.out.println(" "); 20. } 21. zapytanie.close(); 22. con.close(); 25

Funkcje 1. package ; 2. import java.sql.connection; 3. import java.sql.drivermanager; 4. import java.sql.resultset; 5. import java.sql.sqlexception; 6. import java.sql.statement; 7. public class PRZYKŁAD 8. { 9. static Connection con; 10. //---------------------------------------------------- GŁÓWNA FUNKCJA PROGRAMU 11. public static void main(string[] args) 12. { 13. try 14. { 15. Polacz("test","sa","zaq1@WSX"); 16. IleRek("waga"); 17. con.close(); 18. } 19. catch(sqlexception error_polaczenie) { 20. System.out.println("Błąd połączenia z bazą danych");} 21. } 26

27 22. static void Polacz(String bd,string login,string pass) 23. { 24. try 25. { 26. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 27. con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;"+ 28. "databasename="+bd+";"+ 29. "user="+login+ 30. ";password="+pass+";"); 31. System.out.println("Połączono z bazą danych"); 32. } 33. catch(sqlexception error_polaczenie) { 34. System.out.println("Błąd połączenia z bazą danych");} 35. catch(classnotfoundexception error_sterownik) { 36. System.out.println("Brak sterownika");} 37. } 38. //---------------------------------------------------------- FUNKCJE 39. static void IleRek(String tab) 40. { 41. try 42. { 43. Statement zapytanie = con.createstatement(); 44. String sql="select count(*) from "+tab; 45. ResultSet wynik_zapytania = zapytanie.executequery(sql); 46. wynik_zapytania.next(); 47. int ile_rek = wynik_zapytania.getint(1); 48. System.out.println("Ilość rekordów:"+ile_rek); 49. } 50. catch(sqlexception error_polaczenie) { 51. System.out.println("Błąd połączenia z bazą danych");} 52. } 53. }

Wybrana kolumna z tabeli tablica 1. 2. static Connection con; 3. static int ile_rek; 4. //------------------------------------------------------ GŁÓWNA FUNKCJA PROGRAMU 5. public static void main(string[] args) 6. { 7. try 8. { 9. Polacz("test","sa","zaq1@WSX"); 10. IleRek("waga"); 11. System.out.println("ilość rekordów: "+ile_rek); 12. int[] tab=new int[ile_rek]; 13. Statement zapytanie = con.createstatement(); 14. String sql="select waga from waga"; 15. ResultSet wynik_zapytania = zapytanie.executequery(sql); 16. int i=0; 17. while(wynik_zapytania.next()) { 18. System.out.println(wynik_zapytania.getString(1)); 19. tab[i]=integer.parseint(wynik_zapytania.getstring(1)); 20. i++;} 21. con.close(); 28

24. System.out.println(""); 25. for (i=0;i<tab.length;i++) System.out.println(tab[i]); 26. int max = tab[0]; 27. for (i=0;i<tab.length;i++) 28. { 29. if (tab[i]>max) max = tab[i]; 30. } 31. System.out.println("\nmax. waga: "+max); 32. con.close(); 33. } 34. catch(sqlexception error_polaczenie) { 35. System.out.println("Błąd połączenia z bazą danych");} 36. } 37. //---------------------------------------------------------- FUNKCJE 38. static void Polacz(String bd,string login,string pass){ } 39. static void IleRek(String tab) 40. { 41. try 42. { 43. Statement zapytanie = con.createstatement(); 44. String sql="select count(*) from "+tab; 45. ResultSet wynik_zapytania = zapytanie.executequery(sql); 46. wynik_zapytania.next(); 47. ile_rek = wynik_zapytania.getint(1); 48. } 49. catch(sqlexception error_polaczenie) { 50. System.out.println("Błąd połączenia z bazą danych");} 51. } 29

Wybrana kolumna z tabeli lista 1. 2. import java.util.arraylist; 3. 4. static Connection con; 5. static int ile_rek; 6. 7. //----------------------------------------------------- GŁÓWNA FUNKCJA PROGRAMU 8. public static void main(string[] args) 9. { 10. try 11. { 12. Polacz("test","sa","zaq1@WSX"); 13. ArrayList<Integer> lista = new ArrayList<Integer>(); 14. Statement zapytanie = con.createstatement(); 30

31 13. String sql="select waga from waga"; 14. ResultSet wynik_zapytania = zapytanie.executequery(sql); 15. while(wynik_zapytania.next()) 16. { 17. lista.add(integer.parseint(wynik_zapytania.getstring(1))); 18. } 19. for (int wart_elementu:lista) System.out.println(wart_elementu); 20. con.close(); 21. } 22. catch(sqlexception error_polaczenie) { 23. System.out.println("Błąd połączenia z bazą danych");} 24. } 25. //---------------------------------------------------------- FUNKCJE 26. static void Polacz(String bd,string login,string pass){..}

Własna biblioteka plik java lib.java plik1.java 32

lib.java: 1. package bazydanych; 2. import java.sql.connection; 3. import java.sql.drivermanager; 4. import java.sql.sqlexception; 5. public class lib 6. { 7. 8. static Connection con; 9. static int ile_rek; 10. static void Polacz(String bd,string login,string pass) 11. { 12. try 13. { 14. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 15. con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;"+ 16. "databasename="+bd+";"+ 17. "user="+login+ 18. ";password="+pass+";"); 19. System.out.println("Połączono z bazą danych"); 20. } 21. catch(sqlexception error_polaczenie) { 22. System.out.println("Błąd połączenia z bazą danych");} 23. catch(classnotfoundexception error_sterownik) { 24. System.out.println("Brak sterownika");} 25. } 33 26. public static void main(string[] args) 27. { } 28. 29. }

plik1.java: 1. package bazydanych; 2. import java.sql.sqlexception; 3. import java.sql.connection; 4. import java.sql.resultset; 5. import java.sql.statement; 6. import java.util.arraylist; 7. public class plik1 8. { 9. public static void main(string[] args) 10. { 11. try 12. { 13. Polacz("test","sa","zaq1@WSX"); 14. ArrayList<Integer> lista = new ArrayList<Integer>(); 15. Statement zapytanie = con.createstatement(); 16. String sql="select waga from waga"; 17. ResultSet wynik_zapytania = zapytanie.executequery(sql); 18. while(wynik_zapytania.next()) 19. { 20. lista.add(integer.parseint(wynik_zapytania.getstring(1))); 21. } 22. for (int wart_elementu:lista) System.out.println(wart_elementu); 23. con.close(); 24. } 25. catch(sqlexception error_polaczenie) { 26. System.out.println("Błąd połączenia z bazą danych");} 27. } 28. } 34

Java widok SQL 1. select*from waga 2. create view widok1 as 3. select waga,nazwisko 4. from waga 5. where waga>80 6. select*from widok1 35

1. package bazydanych; 2. import static bazydanych.lib.*; 3. import java.sql.resultset; 4. import java.sql.resultsetmetadata; 5. import java.sql.sqlexception; 6. import java.sql.statement; 36 7. public class sample15 8. { 9. public static void main(string[] args) 10. { 11. try 12. { 13. Polacz("test","sa","zaq1@WSX"); 14. Statement zapytanie = con.createstatement(); 15. String sql="select * from widok1"; 16. ResultSet wynik1 = zapytanie.executequery(sql); 17. ResultSetMetaData wynik2 = wynik1.getmetadata(); 18. int ile_kolumn = wynik2.getcolumncount(); 19. while(wynik1.next()) 20. { 21. for (int i=1;i<=ile_kolumn;i++) 22. { 23. System.out.print(wynik1.getString(i)+" "); 24. } 25. System.out.println(""); 26. } 27. con.close(); 28. } 29. catch(sqlexception error_polaczenie) { 30. System.out.println("Błąd połączenia z bazą danych");} 31. } 32. }

Java Funkcja (1 o ) 1. create function f1() 2. returns int 3. begin 4. declare @ile int 5. set @ile=(select count(*) from widok1) 6. return @ile 7. end 8. select dbo.f1() 37

1. package bazydanych; 2. import static bazydanych.lib.*; 3. import java.sql.resultset; 4. import java.sql.resultsetmetadata; 5. import java.sql.sqlexception; 6. import java.sql.statement; 38 7. public class sample15 8. { 9. public static void main(string[] args) 10. { 11. try 12. { 13. Polacz("test","sa","zaq1@WSX"); 14. Statement zapytanie = con.createstatement(); 15. String sql="select dbo.f1()"; 16. ResultSet wynik1 = zapytanie.executequery(sql); 17. ResultSetMetaData wynik2 = wynik1.getmetadata(); 18. int ile_kolumn = wynik2.getcolumncount(); 19. while(wynik1.next()) 20. { 21. for (int i=1;i<=ile_kolumn;i++) 22. { 23. System.out.print(wynik1.getString(i)+" "); 24. } 25. System.out.println(""); 26. } 27. con.close(); 28. } 29. catch(sqlexception error_polaczenie) { 30. System.out.println("Błąd połączenia z bazą danych");} 31. } 32. }

Java Funkcja (2 o ) 1. create function f2() 2. returns table as 3. return (select*from widok1 where waga>90) 4. select*from dbo.f2() 39

1. package bazydanych; 2. import static bazydanych.lib.*; 3. import java.sql.resultset; 4. import java.sql.resultsetmetadata; 5. import java.sql.sqlexception; 6. import java.sql.statement; 40 7. public class sample15 8. { 9. public static void main(string[] args) 10. { 11. try 12. { 13. Polacz("test","sa","zaq1@WSX"); 14. Statement zapytanie = con.createstatement(); 15. String sql="select*from dbo.f2()"; 16. ResultSet wynik1 = zapytanie.executequery(sql); 17. ResultSetMetaData wynik2 = wynik1.getmetadata(); 18. int ile_kolumn = wynik2.getcolumncount(); 19. while(wynik1.next()) 20. { 21. for (int i=1;i<=ile_kolumn;i++) 22. { 23. System.out.print(wynik1.getString(i)+" "); 24. } 25. System.out.println(""); 26. } 27. con.close(); 28. } 29. catch(sqlexception error_polaczenie) { 30. System.out.println("Błąd połączenia z bazą danych");} 31. } 32. }