Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.db / org.gvsig.fmap.dal.db.jdbc / src / main / java / org / gvsig / fmap / dal / store / jdbc2 / spi / operations / ExecuteOperation.java @ 44198

History | View | Annotate | Download (1.08 KB)

1 43020 jjdelcerro
package org.gvsig.fmap.dal.store.jdbc2.spi.operations;
2
3
import java.sql.Connection;
4
import java.sql.SQLException;
5 43377 jjdelcerro
import java.sql.Statement;
6 43020 jjdelcerro
import org.gvsig.fmap.dal.exception.DataException;
7
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
8
import org.gvsig.fmap.dal.store.jdbc2.JDBCUtils;
9
10 43377 jjdelcerro
public class ExecuteOperation extends AbstractConnectionOperation {
11
12
    private final String sql;
13 43020 jjdelcerro
14 43377 jjdelcerro
    public ExecuteOperation(
15 43020 jjdelcerro
            JDBCHelper helper,
16 43377 jjdelcerro
            String sql
17 43020 jjdelcerro
        ) {
18
        super(helper);
19 43377 jjdelcerro
        this.sql = sql;
20 43020 jjdelcerro
    }
21
22
    @Override
23
    public final Object perform(Connection conn) throws DataException {
24 43377 jjdelcerro
        this.execute(conn, sql);
25
        return null;
26 43020 jjdelcerro
    }
27
28 43377 jjdelcerro
    public void execute(
29 43020 jjdelcerro
            Connection conn,
30 43377 jjdelcerro
            String sql
31 43020 jjdelcerro
    ) {
32 43377 jjdelcerro
        Statement st = null;
33 43020 jjdelcerro
        try {
34 43377 jjdelcerro
            st = conn.createStatement();
35
            JDBCUtils.execute(st, sql);
36 43020 jjdelcerro
        } catch (SQLException ex) {
37 43377 jjdelcerro
            throw new RuntimeException("Can't execute query ["+sql+"].",ex);
38 43020 jjdelcerro
39
        } finally {
40 43377 jjdelcerro
            JDBCUtils.closeQuietly(st);
41 43020 jjdelcerro
        }
42
43
    }
44
}