/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the * License, or any later version. * * Squale is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ package org.squale.welcom.outils.jdbc.wrapper; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * A wrapper around {@link Statement}. * * @version $Id: SimpleStatement.java,v 1.4 2001/05/02 14:15:17 hship Exp $ */ public class SimpleStatement implements IStatement { /** Chaine sql en interne */ private String sql; /** Statement ouvert pour execution de la requete */ private Statement statement; /** * @param pSQL : Chaine SQL * @param connection : Connexion BD * @throws SQLException : Probleme SQL dansle requete */ public SimpleStatement( final String pSQL, final Connection connection ) throws SQLException { sql = pSQL; this.statement = connection.createStatement(); } /** * @return Returns the SQL associated with this statement. */ public String getSQL() { return sql; } /** * @return Returns the underlying {@link Statement}. */ public Statement getStatement() { return statement; } /** * Closes the underlying statement, and nulls the reference to it. * * @throws SQLException : Probleme SQL dansle requete */ public void close() throws SQLException { statement.close(); statement = null; sql = null; } /** * Executes the statement as a query, * * @return returning a {@link ResultSet}. * @throws SQLException : Probleme SQL dansle requete */ public ResultSet executeQuery() throws SQLException { return statement.executeQuery( sql ); } /** * Executes the statement as an update, * * @return returning the number of rows affected. * @throws SQLException : Probleme SQL dansle requete */ public int executeUpdate() throws SQLException { return statement.executeUpdate( sql ); } /** * @return retourne la chaine sql */ public String toString() { StringBuffer buffer; buffer = new StringBuffer( super.toString() ); buffer.append( "[SQL=<\n" ); buffer.append( sql ); buffer.append( "\n>]" ); return buffer.toString(); } }