root/java/SuperPostak/src/cz/frantovo/superPostak/DataSQL.java @ 3:03d27d3b3f7b

Revision 3:03d27d3b3f7b, 1.4 KB (checked in by František Kučera <franta-hg@…>, 15 years ago)

Drobnosti a Substance LaF

Line 
1package cz.frantovo.superPostak;
2
3import cz.frantovo.postak.InternetAddressKomu;
4import java.io.UnsupportedEncodingException;
5import java.sql.Connection;
6import java.sql.PreparedStatement;
7import java.sql.ResultSet;
8import java.sql.SQLException;
9import java.util.ArrayList;
10import java.util.Collection;
11import java.util.logging.Level;
12import java.util.logging.Logger;
13
14/**
15 * Třída pro vykonávání SQL dotazů
16 * @author fiki
17 */
18public class DataSQL {
19
20    private static 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}
Note: See TracBrowser for help on using the browser.