franta-hg@37: package cz.frantovo.sql.vyuka.dao; franta-hg@37: franta-hg@37: import cz.frantovo.sql.vyuka.dto.Pruvodce; franta-hg@37: import java.sql.Connection; franta-hg@37: import java.sql.PreparedStatement; franta-hg@37: import java.sql.ResultSet; franta-hg@37: import java.util.logging.Level; franta-hg@37: franta-hg@37: /** franta-hg@37: * Načítá průvodce (nápovědu) z databáze. franta-hg@37: * @author fiki franta-hg@37: */ franta-hg@37: public class PruvodceDAO extends VyukaSuperDAO { franta-hg@37: franta-hg@37: private enum SQL { franta-hg@37: franta-hg@37: PODLE_KODU, franta-hg@37: PODLE_ID, franta-hg@37: PODLE_ID_PREDCHOZI, franta-hg@37: PODLE_ID_NASLEDUJICI franta-hg@37: } franta-hg@37: franta-hg@37: public Pruvodce getPruvodce(long id) { franta-hg@37: return getPruvodce(getSQL(SQL.PODLE_ID), id); franta-hg@37: } franta-hg@37: franta-hg@37: public Pruvodce getPruvodce(String kod) { franta-hg@37: return getPruvodce(getSQL(SQL.PODLE_KODU), kod); franta-hg@37: } franta-hg@37: franta-hg@37: public Pruvodce getPruvodcePredchozi(long id) { franta-hg@37: return getPruvodce(getSQL(SQL.PODLE_ID_PREDCHOZI), id); franta-hg@37: } franta-hg@37: franta-hg@37: public Pruvodce getPruvodceNasledujici(long id) { franta-hg@37: return getPruvodce(getSQL(SQL.PODLE_ID_NASLEDUJICI), id); franta-hg@37: } franta-hg@37: franta-hg@37: private Pruvodce getPruvodce(String selekt, Object... parametry) { franta-hg@37: Connection db = getSpojeni(DATABAZE.APLIKACE); franta-hg@37: if (db == null) { franta-hg@37: log.log(Level.SEVERE, "Databáze je null."); franta-hg@37: return null; franta-hg@37: } else { franta-hg@37: PreparedStatement ps = null; franta-hg@37: ResultSet rs = null; franta-hg@37: try { franta-hg@37: ps = db.prepareStatement(selekt); franta-hg@37: for (int i = 0; i < parametry.length; i++) { franta-hg@37: ps.setObject(i + 1, parametry[i]); franta-hg@37: } franta-hg@37: rs = ps.executeQuery(); franta-hg@37: if (rs.next()) { franta-hg@37: Pruvodce p = new Pruvodce(); franta-hg@37: p.setId(rs.getLong("id")); franta-hg@37: p.setKod(rs.getString("kod")); franta-hg@37: p.setNadpis(rs.getString("nadpis")); franta-hg@37: p.setObsah(rs.getString("obsah")); franta-hg@37: return p; franta-hg@37: } else { franta-hg@37: return null; franta-hg@37: } franta-hg@37: } catch (Exception e) { franta-hg@37: log.log(Level.SEVERE, "Chyba při hledání průvodce.", e); franta-hg@37: return null; franta-hg@37: } finally { franta-hg@37: zavri(db, ps, rs); franta-hg@37: } franta-hg@37: } franta-hg@37: } franta-hg@37: }