java/SuperPostak/src/cz/frantovo/superPostak/DataSQL.java
author František Kučera <franta-hg@frantovo.cz>
Tue Nov 29 17:16:47 2011 +0100 (2011-11-29)
changeset 13 b15d81be8af3
parent 3 03d27d3b3f7b
permissions -rw-r--r--
drobnosti: lgoování, formátování, netbeans…
     1 package cz.frantovo.superPostak;
     2 
     3 import cz.frantovo.postak.InternetAddressKomu;
     4 import java.io.UnsupportedEncodingException;
     5 import java.sql.Connection;
     6 import java.sql.PreparedStatement;
     7 import java.sql.ResultSet;
     8 import java.sql.SQLException;
     9 import java.util.ArrayList;
    10 import java.util.Collection;
    11 import java.util.logging.Level;
    12 import java.util.logging.Logger;
    13 
    14 /**
    15  * Třída pro vykonávání SQL dotazů
    16  * @author fiki
    17  */
    18 public class DataSQL {
    19 
    20     private static final Logger log = Logger.getLogger(DataSQL.class.getName());
    21     private Connection spojeni;
    22 
    23     public DataSQL(Connection spojeni) {
    24         this.spojeni = spojeni;
    25     }
    26 
    27     /**
    28      * Provede SQL příkaz a získá z něj e-mailové adresy.
    29      * Zatím předpokládá pouze jediný sloupec, který obsahuje adresu.
    30      */
    31     public Collection<InternetAddressKomu> getAdresy(String sql) throws SQLException, UnsupportedEncodingException {
    32         ArrayList<InternetAddressKomu> vysledek = new ArrayList<InternetAddressKomu>();
    33 
    34         if (sql == null || sql.length() < 3) {
    35             log.log(Level.FINER, "Prázdný SQL dotaz");
    36             return null;
    37         } else {
    38             PreparedStatement ps = spojeni.prepareStatement(sql);
    39             ResultSet rs = ps.executeQuery();
    40             while (rs.next()) {
    41                 vysledek.add(new InternetAddressKomu(rs.getString(1), rs.getString(1)));
    42             }
    43             return vysledek;
    44         }
    45     }
    46 }