root/java/SuperPostak/src/cz/frantovo/superPostak/DataSQL.java @ 0:e76872ad5226

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

Přidání SuperPošťáka? do Mercurialu (původně byl v Subversionu)
Postak – základ, knihovna
SuperPostak? – GUI nadstavba
SuperPostak?2 – pokus o implementaci aplikace jako modulu pro Netbeans, POZOR: není přidán do Mercurialu, možná později (pravděpodobně se ale nebude používat)

Line 
1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5package cz.frantovo.superPostak;
6
7import cz.frantovo.postak.InternetAddressKomu;
8import java.io.UnsupportedEncodingException;
9import java.sql.Connection;
10import java.sql.PreparedStatement;
11import java.sql.ResultSet;
12import java.sql.SQLException;
13import java.util.ArrayList;
14import java.util.Collection;
15import java.util.logging.Level;
16import java.util.logging.Logger;
17
18/**
19 * Třída pro vykonávání SQL dotazů
20 * @author fiki
21 */
22public class DataSQL {
23
24    private static Logger log = Logger.getLogger(DataSQL.class.getName());
25    private Connection spojeni;
26
27    public DataSQL(Connection spojeni) {
28        this.spojeni = spojeni;
29    }
30
31    /**
32     * Provede SQL příkaz a získá z něj e-mailové adresy.
33     * Zatím předpokládá pouze jediný sloupec, který obsahuje adresu.
34     */
35    public Collection<InternetAddressKomu> getAdresy(String sql) throws SQLException, UnsupportedEncodingException {
36        ArrayList<InternetAddressKomu> vysledek = new ArrayList<InternetAddressKomu>();
37
38        if (sql == null || sql.length() < 3) {
39            log.log(Level.FINER, "Prázdný SQL dotaz");
40            return null;
41        } else {
42            PreparedStatement ps = spojeni.prepareStatement(sql);
43            ResultSet rs = ps.executeQuery();
44            while (rs.next()) {
45                vysledek.add(new InternetAddressKomu(rs.getString(1), rs.getString(1)));
46            }
47            return vysledek;
48        }
49    }
50}
Note: See TracBrowser for help on using the browser.