Lista zadań na zajęcia, semestr letni 2013/2014, zestaw X

Transkrypt

Lista zadań na zajęcia, semestr letni 2013/2014, zestaw X
Lista zadań na zajęcia, semestr letni 2013/2014, zestaw X
Bezpośrednia obsługa bazy danych (JDBC)
Przemysław Krysztowiak, [email protected]
Celem zadania jest napisanie programu do gromadzenia filmografii aktorów, działającego w oparciu
o bazę danych SQLite. Program umożliwia:
(a) dodawanie nowych aktorów (imię, nazwisko),
(b) dodawanie filmów, w których wystąpił dany aktor (tytuł filmu),
(c) wybieranie aktorów, by zobaczyć powiązane z nimi filmy.
Program korzysta z dwóch tabel:
(a) create table if not exists aktorzy(id integer primary key autoincrement,
imie text not null, nazwisko text not null)
(b) create table if not exists filmy(id_aktora integer, tytul text not null,
foreign key(id_aktora) references aktorzy(id))
(należy je utworzyć z poziomu programu).
Nawiązanie połączenia z bazą:
Class.forName("org.sqlite.JDBC"); connection = DriverManager.getConnection("jdbc:sqlite:baza.db");
Przykład pobrania filmów aktora o zadanym id_aktora:
String sql = "SELECT tytul FROM filmy WHERE id_aktora = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, id_aktora);
ResultSet rs = statement.executeQuery();
filmy = new ArrayList<String>();
while(rs.next()) { String film = new String((rs.getBytes("tytul"))); filmy.add(film); }
Reszta zapytań jest analogiczna (przy wstawianiu danych do bazy wystarczy wywołać executeUpdate zamiast executeQuery).
Obsługa przycisków jest oczywista. Po zmianie ComboBox-a lub dodaniu nowego filmu należy odświeżyć
listę filmów wybranego aktora. Program powinien obsługiwać wyjątki i wypisywać komunikaty na ekranie.
Otwarte połączenia należy pozamykać.
Wyrażam zgodę na drukowanie przez studentów i pracowników WMiI UMK treści zawartej w niniejszym pliku.