groovy.sql

## Class Sql.AbstractQueryCommand

- java.lang.Object
- - groovy.sql.Sql.AbstractQueryCommand

Enclosing class:
  Sql

    protected abstract class Sql.AbstractQueryCommand
    extends java.lang.Object

### Field Summary

Fields
`protected java.lang.String` `sql`
`protected java.sql.Statement` `statement`

### Constructor Summary

Constructors
`protected` `Sql.AbstractQueryCommand(java.lang.String sql)`

### Method Summary

Methods
`protected void` `closeResources()` After performing the execute operation and making use of its return, it's necessary to free the resources allocated for the statement.
`protected void` `closeResources(java.sql.ResultSet rs)` After performing the execute operation and making use of its return, it's necessary to free the resources allocated for the statement.
`protected java.sql.ResultSet` `execute()` Execute the command that's defined by the subclass following the Command pattern.
`protected abstract java.sql.ResultSet` `runQuery(java.sql.Connection connection)` Perform the query.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### sql

    protected final java.lang.String sql

#### statement

    protected java.sql.Statement statement

### Constructor Detail

#### Sql.AbstractQueryCommand

    protected Sql.AbstractQueryCommand(java.lang.String sql)

### Method Detail

#### execute

    protected final java.sql.ResultSet execute()
                                        throws java.sql.SQLException

Execute the command that's defined by the subclass following the Command pattern. Specialized parameters are held in the command instances.

Returns:
  ResultSet from executing a query
Throws:
  `java.sql.SQLException` - if a database error occurs

#### closeResources

    protected final void closeResources()

After performing the execute operation and making use of its return, it's necessary to free the resources allocated for the statement.

#### closeResources

    protected final void closeResources(java.sql.ResultSet rs)

After performing the execute operation and making use of its return, it's necessary to free the resources allocated for the statement.

Parameters:
  `rs` - allows the caller to conveniently close its resource as well

#### runQuery

    protected abstract java.sql.ResultSet runQuery(java.sql.Connection connection)
                                            throws java.sql.SQLException

Perform the query. Must set statement field so that the main (`execute()`) method can clean up. This is the method that encloses the variant part of the code.

Parameters:
  `connection` - the connection to use
Returns:
  ResultSet from an executeQuery method.
Throws:
  `java.sql.SQLException` - if a database error occurs