root/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/PruvodceDAO.java @ 78:3b4abb1ec5a3

Revision 37:e32867db5487, 2.1 KB (checked in by František Kučera <franta-hg@…>, 15 years ago)

Průvodce (nápověda): serverová část.

Line 
1package cz.frantovo.sql.vyuka.dao;
2
3import cz.frantovo.sql.vyuka.dto.Pruvodce;
4import java.sql.Connection;
5import java.sql.PreparedStatement;
6import java.sql.ResultSet;
7import java.util.logging.Level;
8
9/**
10 * Načítá průvodce (nápovědu) z databáze.
11 * @author fiki
12 */
13public class PruvodceDAO extends VyukaSuperDAO {
14
15    private enum SQL {
16
17        PODLE_KODU,
18        PODLE_ID,
19        PODLE_ID_PREDCHOZI,
20        PODLE_ID_NASLEDUJICI
21    }
22
23    public Pruvodce getPruvodce(long id) {
24        return getPruvodce(getSQL(SQL.PODLE_ID), id);
25    }
26
27    public Pruvodce getPruvodce(String kod) {
28        return getPruvodce(getSQL(SQL.PODLE_KODU), kod);
29    }
30
31    public Pruvodce getPruvodcePredchozi(long id) {
32        return getPruvodce(getSQL(SQL.PODLE_ID_PREDCHOZI), id);
33    }
34
35    public Pruvodce getPruvodceNasledujici(long id) {
36        return getPruvodce(getSQL(SQL.PODLE_ID_NASLEDUJICI), id);
37    }
38
39    private Pruvodce getPruvodce(String selekt, Object... parametry) {
40        Connection db = getSpojeni(DATABAZE.APLIKACE);
41        if (db == null) {
42            log.log(Level.SEVERE, "Databáze je null.");
43            return null;
44        } else {
45            PreparedStatement ps = null;
46            ResultSet rs = null;
47            try {
48                ps = db.prepareStatement(selekt);
49                for (int i = 0; i < parametry.length; i++) {
50                    ps.setObject(i + 1, parametry[i]);
51                }
52                rs = ps.executeQuery();
53                if (rs.next()) {
54                    Pruvodce p = new Pruvodce();
55                    p.setId(rs.getLong("id"));
56                    p.setKod(rs.getString("kod"));
57                    p.setNadpis(rs.getString("nadpis"));
58                    p.setObsah(rs.getString("obsah"));
59                    return p;
60                } else {
61                    return null;
62                }
63            } catch (Exception e) {
64                log.log(Level.SEVERE, "Chyba při hledání průvodce.", e);
65                return null;
66            } finally {
67                zavri(db, ps, rs);
68            }
69        }
70    }
71}
Note: See TracBrowser for help on using the browser.