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