Objeto Statement
Definición:
Un objeto Statement se usa para enviar sentencias SQL a la base de datos. Actualmente hay tres tipos de objetos Statement, todos los cuales actúan como contenedores para la ejecución de sentencias en una conexión dada: Statement, PreparedStatement que hereda de Statement y CallableStatement que hereda de PreparedStatement. Estas estàn especializadas para enviar tipos particulares de sentencias SQL, Un objeto Statement se usa para ejecutar una sentencia SQL simple sin parámetros. Un objeto PreparedStatement se usa para ejecutar sentencias SQL precompiladas con o sin parámetros IN; y un objeto CallableStatement se usa para ejecutar un procedimieno de base de datos almacenado.
La interfase Statement suminstra métodos básicos para ejecutar sentencias y devolver resultados. La interfase PreparedStatement añade métodos para trabajat con los parámetros IN; y la interfase CallableStatement añade métodos para trabajar con parameters OUT.
Creación de objeto Statement
Una vez establecida la conexión con una base de datos particular, esta conexión puede usarse para enviar sentencias SQL. Un objeto Statement se crea mediante el método de Connection createStatement, como podemos ver en el siguiente fragmento de código.
Connection con = DriverManager.getConnection(url, "sunny", "");
Statement stmt = con.createStatement();
La sentencia SQL que será enviada a la base de datos es alimentada como un argumento a uno de los métodos de ejecución del objeto Statement. Por ejemplo:
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2");
Ejecución de sentencias usando objetos Statement.
La interfase Statement nos suministra tres métodos diferentes para ejecutar sentencias SQL, executeQuery, executeUpdate y execute. El método a usar esta determinado por el producto de la sentencia SQL
El método executeQuery esta diseñado para sentencias que producen como resultado un único result set tal como las sentencias SELECT.
El método executeUpdate se usa para ejecutar sentencias INSERT, UPDATE ó DELETE así como sentencias SQL DDL (Data Definition Language) como CREATE TABLE o DROP TABLE. El efecto de una sentencia INSERT, UPDATE o DELETE es una modificación de una o más columnas en cero o más filas de una tabla. El valor devuelto de executeUpdate es un entero que indica el número de filas que han sido afectadas (referido como update count). Para sentencias tales como CREATE TABLE o DROP TABLE, que no operan sobre filas, le valor devuelto por executeUpdate es siempre cero.
El método execute se usa para ejecutar sentencias que devuelven más de un result set, más que un update count o una combinación de ambos. Como es esta una característica avanzada que muchos programadores no necesitarñan nunca se verá en su propia sección.
Todos los métodos que ejecutan sentencias cierran los objetos Resultset abiertos como resultado de las llamadas a Statement. Esto quiere decir que es necesario completar el proceso con el actual objeto Resulset antes de reejecutar una sentencia Statement.
Debe notarse que la interfase PreparedStatement, que hereda los métodos de la interfase Statement, tiene sus propias versiones de los métodos executeQuery, executeUpdate y execute. Los objetos Statement en si mismos no contienen una sentencia SQL, por tanto debe suministrarse como un argumento a los métodos Statement.execute. Los objetos PreparedStatement no suministran una sentencia SQL como argumento a estos métodos puesto que ya tienen la sentencia precompilada. Los objetos CallableStatement heredan las formas de estos métodos de PreparedStatement. Usar un parametro de query con las versiones de los métodos de PreparedStatement o CallableStatement producirái una SQLException,.
Realización de Statement
Cuando una conexión está en modo auto-commit, las sentencias ejecutadas son ‘comitadas’ o rechazadas cuando se completan. Un sentencia se considera completa cuando ha sido ejecutada y se han devuelto todos los resultados. Pare el método executeQuery, que devuelve un único result set, la sentencia se completa cuando todas las filas del objeto ResultSet se han devuelto. Para el método executeUpdate, un sentencia se completa cuando se ejecuta. En los raros casos en que se llama al método execute, de cualquier modo, no se completa hasta que los result sets o update counts que se generan han sido devueltos.
Algunos DBMS tratan cada sentencia en un procedimiento almacenado como sentencias separadas. Otros tratan el procedimiento entero como una sentencia compuesta. Esta diferencia se convierte en importante cuando está activo el modo auto-commit porque afecta cuando se llama al método commit. En el primer caso, cada sentencia individual es commitada. En el segundo, se commiten todas juntas.
Cerrar objetos Statement.
Los objetos Statement se cerrarán automáticamente por el colector de basura de Java (garbage collector). No obstante se recomienda como una buena práctica de programación que se cierren explicitamente cuando no sean ya necesarios. Esto libera recursos DBMS inmediatamente y ayuda a evitar potenciales problemas de memoria.
Sintaxis de Escape SQL en objetos Statement
Los objetos Statement pueden contener sentencias SQL que usen sintaxis de escape SQL. La sintaxis de escape señala al driver que el código que lleva debe ser tratado diferentemente. El driver buscará por cualquier sintaxis de escape y lo traducirá en código que entiende la base de datos en particular. Esto hace que la sintaxis de escape sea independiente de la DBMS y permite al programador usar características que de otro modo no estarían disponibles.
Una clausula de escape se enmarca entre llaves y tiene una palabra clave:
{keyword . . . parameters . . . }
La palabra clave (keyword) indica el tipo de clausula de escape, según se muestra:
• escape para caracteres LIKE
Los caracteres “%” y “_” trabajan como wildcards en la clausula SQL LIKE (“%” significa cero o más caracteres y “_” significa exactamente un carácter”. En orden a interpretarlos literalmente, pueden estar precedidos por un backslash (‘\’), que es un carácter de escape especial en cadenas. Se puede especificar un carácter que se use como carácter de escape por la inclusión de la sintaxis siguiente al final de la consulta.
{escape 'escape-character'}
Por ejemplo, la siguiente query, usando backslash como caracter de escape, encuentra nombres de identificador que comiencen con ‘_’.
stmt.executeQuery("SELECT name FROM Identifiers WHERE Id LIKE `\_%' {escape `\'};
• fn para funciones escalares
Casi todas las DBMS tienen funciones numèricas, de cadena, de fecha y conversión sobre valores escalares. Una de estas funciones puede usarse colocándola en la sintaxis de escape con la clave fn seguida del nombre de la función deseada y sus argumentos. Por ejemplo, para llamar a la función concat con dos argumentos que serán concatenados:
{fn concat("Hot", "Java")};
El nombre del usuario actual de la base de datos puede obtenerse mediante:
{fn user()};
Las funciones escalares pueden estar soportadas por diferentes DBMS con ligeras diferencias de sintaxis, y pueden no estar disponibles en todos los drivers. Varios métodos de DatabaseMetaData nos listarán las funciones que están soportadas. Por ejemplo, el método getNumericFunctions devuelve una lista de los nombres de las funciones numéricas separadas por comas, el método getStringFunction nos devuelve los nombres de las funciones de cadena, y así varías más.
EL driver o bien mapeará la llamada a la función ‘escapada’ en su propia sintaxis o implementará la función el mismo.
• d, t y ts para literales de fecha y tiempo
Las DBMS difieren en la sintaxis que usan para los literales de fecha, tiempo y timestamp. JDBC soporta un formato estándar ISO para estos literales y usa una clausula de escape que el driver debe traducir a la representación del DBMS.
Por ejemplo, una fecha se especifica en SQL JDBC mediante la sintaxis:
{d `yyyy-mm-dd'}
En esta sintaxis, yyyy es el año, mm es el mes y dd es el dia. El driver reemplazará la clausula de escape por la representaciòn propia equivalente de la DBMS. Por ejemplo, el driver reemplazaría {d 1999-02-28} por ’28-FEB-99’ si este es el formato apropiado para la base subyacente.
Hay clausulas de escape análogas para TIME y TIMESTAMP
{t `hh:mm:ss'}
{ts `yyyy-mm-dd hh:mm:ss.f . . .'}
La parte fraccional de los segundos (.f . . .) del TIMESTAMP puede omitirse.
• call ó ? = call para procedimientos almacenados
Si una database soporta procedimientos almacenados, estos pueden ser invocados desde JDBC mediante:
{call procedure_name[(?, ?, . . .)]}
o, cuando el procedimiento devuelve como resultado un parámetro
{? = call procedure_name[(?, ?, . . .)]}
Los corchetes indican que el material encerrado en ellos es opcional. Estos no forman parte de la sintaxis.
Los argumentos de entrada pueden ser bien literales, bien parámetros. Ver la sección 7 “CallableStatement” de esta guía.
Se puede llamar al método DatabaseMetaData.supportsStoredProcedures para ver si la base de datos soporta procedimientos almacenados.
• oj para joins de salida
La sintaxis para un outer join es:
{oj outer-join}
donde outer-join es de la forma:
table LEFT OUTER JOIN {table | outer-join} ON search-condition
Las Outer joins son una característica avanzada, y solo puede chequearse la gramática SQL mediente una explicación de ella. JDBC provee tres métodos de DatabaseMetaData para determinar que tipos de outer joins soporta un driver: supportsOuterJoins, supportsFullOuterJoins, y supportsLimitedOuterJoins.
El método Statement.setEscapeProcessing activa o desactiva el procesamiento de escape. Por defecto la característica se encuentra activada. Un programador debería desactivar esta característica en tiempo de ejecución cuando el rendimiento ha de ser máximo, pero normalmente debe estar activado. Debería notarse que setEscapeProcesing no trabaja con objetos PreparedStatement por que la sentencia ya está preparada para enviar a la base de datos antes de poder ser llamada.
Uso del método execute
El método execute debería usarse solamente cuando es posible que una sentencia nos devuelva más de un objeto Resultset., mas de un update count o una combinación de ambos. Estas múltiples posibilidades para resultados, aunque raras, son posibles cuando se ejecutan ciertos procedimientos almacenados o por la ejecución dinámica de una string SQL desconocida (esto es, desconocida para el programador de la aplicación en tiempo de compilación). Por ejemplo, una usuario podría ejecutar un procedimiento almacenado (usando una objeto CallableStatement y este procedimiento podría ejecutar una actualización, después una select, luego una actualización, después una select y así. Normalmente, alguien que usa un procedimiento almacenado sabrá que se le va a devolver.
Porque el método execute maneja los casos que se salen de lo ordinario, no sorprende que los resultados devueltos requieren algun manejo especial. Por ejemplo, supongamos que se sabe que el procedimiento devuelve dos result sets.
Después de usar el método execute para ejecutar el procedimiento, se debe llamar al método getResultSet para conseguir el primer result set y después los métodos apropiados getXXX para recuperar los valores de él. Para conseguir el segundo result set, se necesita llamar al método getMoreResults y y despues a getResultSet de nuevo. Si se sabe que el procedimiento devuelve dos upadte counts, se llama primero al método getUpdateCount, seguido de getMoreResults y de nuevo getUpdateCount.
Aquellos casos en los que no se conoce que devolverá se nos presenta una situación más compleja. El método execute devuelve true si el resultado es un objeto ResultSet y false si es un int Java. Si devuelve un int, esto quiere decir que el resultado o bien es un update count o que la sentencia que ha ejecutado es un comando DDL. Lo primero que hay que hacer después de llamar execute es llmar o bien a getResultSet o getUpdateCount. Al método getResultSet se le llama para conseguir el primero de los dos o más objetos ResultSet y al método getUpdateCount para conseguir el primero de dos o más update counts.
Cuando el resultado de una sentencia SQL no es un result set, el método getResultSet devolverá null. Esto quiere decir que el resultado es un update count o que no hay más resultados. La única manera de encontrar que significa el valor null en este caso es llamar al método getUpdateCount, que devolverá un entero. Este entero será el número de filas afectadas por la sentencia ejecutada o –1 para indicar o bien que el resultado es un result set o bien que no hay más resultados. Si el método getResultSet ya ha devuelto null, el resultado no puede ser un objeto ResultSet, por lo que el valor devuelto de –1 tiene que ser que no hay más resultados. En otras palabras, no hay más resultados cuando lo siguiente es cierto:
((stmt.getResultSet() == null) && (stmt.getUpdateCount() == -1)).
Si se ha llamado al método getResultSet y se ha procesado el objeto ResultSet devuelto, es necesario llamar al método getMoreResults para ver si hay más result sets o update counts.. Si getMoreResults devuelve true, entonces es necesario llamar de nuevo a getResultSet para recuperar el siguiente result set. Como ya se ha indicado anteriormente, si getResultset devuelve null hay que llamar a GetUpdateCount para buscar que significa ese null si un update count o que no hay más resultados.
Cuando getMoreResults devuelve false quiere decir que la sentencia SQL ha devuelto un update count o que no hay más resultados. Por tanto es necesario llamar al método getUpdateCount para encontrar cual es el caso. En esta situación, no habrá más resultados cuando lo siguiente es cierto:
((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
Ejemplo del Objeto Statement
El siguiente código muestra una forma de asegurarse que se ha accedido a todos los result sets y update counts de una llamada al método execute:
stmt.execute(queryStringWithUnknownResults);
while (true) {
int rowCount = stmt.getUpdateCount();
if (rowCount > 0) { // this is an update count
System.out.println("Rows changed = " + count);
stmt.getMoreResults();
continue;
}
if (rowCount == 0) { // DDL command or 0 updates
System.out.println(" No rows changed or statement was DDL
command");
stmt.getMoreResults();
continue;
}
// if we have gotten this far, we have either a result set
// or no more results
ResultSet rs = stmt.getResultSet;
if (rs != null) {
. . . // use metadata to get info about result set columns
while (rs.next()) {
. . . // process results
stmt.getMoreResults();
continue;
}
break; // there are no more results
Propiedades del Objeto Statement
El objeto que se utiliza para ejecutar una sentencia de SQL estático y devolver los resultados que produce.
De manera predeterminada, sólo un
ResultSet objeto por Statement objeto puede estar abierto al mismo tiempo. Por lo tanto, si la lectura de un ResultSetobjeto se intercala con la lectura de otro, cada uno debe haber sido generada por los diferentes Statementobjetos. Todos los métodos de ejecución en la Statementinterfaz de cerrar de forma implícita actual de un statment ResultSetobjeto si existe una abierta.Campo Resumen
| Modificador y Tipo | Campo y Descripción |
|---|---|
static int | CLOSE_ALL_RESULTS
La constante que indica que todos los
ResultSetobjetos que han sido previamente guardados abiertos deben cerrarse cuando se llama getMoreResults. |
static int | CLOSE_CURRENT_RESULT
La constante que indica que el actual
ResultSetobjeto debe estar cerrada cuando se llama getMoreResults. |
static int | EXECUTE_FAILED
La constante que indica que ocurrió un error al ejecutar una instrucción de proceso por lotes.
|
static int | KEEP_CURRENT_RESULT
La constante que indica que el actual
ResultSetobjeto no debe estar cerrada cuando se llama getMoreResults. |
static int | NO_GENERATED_KEYS
La constante que indica que las claves generadas no deberían estar disponibles para su recuperación.
|
static int | RETURN_GENERATED_KEYS
La constante que indica que las claves generadas deberían estar disponibles para su recuperación.
|
static int | SUCCESS_NO_INFO
La constante que indica que una declaración por lotes ejecutado con éxito pero que ningún recuento del número de filas se vea afectado está disponible.
|
Sumario de Métodos
| Modificador y Tipo | Método y Descripción |
|---|---|
void | addBatch(String sql)
Añade el comando SQL dada a la lista actual de commmands de este
Statementobjeto. |
void | cancel()
Cancela este
Statementobjeto si tanto el DBMS y la compatibilidad de controladores abortar una instrucción SQL. |
void | clearBatch()Vacía esta Statementlista actual de objetos de comandos SQL. |
void | clearWarnings()
Borra todos los avisos reportados por este
Statement objeto. |
void | close()
Comunicados de esta
Statementbase de datos del objeto y recursos JDBC de inmediato en lugar de esperar que esto suceda cuando se cierra automáticamente. |
void | closeOnCompletion()
Especifica que esta
Statementse cerrará cuando todos sus conjuntos de resultados dependientes están cerrados. |
boolean | execute(String sql)
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados.
|
boolean | execute(String sql, int autoGeneratedKeys)
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados, e indica al conductor que las llaves generadas automáticamente deberían estar disponibles para su recuperación.
|
boolean | execute(String sql, int[] columnIndexes)
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados, e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación.
|
boolean | execute(String sql, String[] columnNames)
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados, e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación.
|
int[] | executeBatch()
Presenta un lote de comandos a la base de datos para su ejecución y si todos los comandos se ejecutan con éxito, devuelve una tabla de cuentas de actualización.
|
ResultSet | executeQuery(String sql)
Ejecuta la sentencia de SQL, que devuelve un único
ResultSetobjeto. |
int | executeUpdate(String sql)
Ejecuta la instrucción SQL determinada, que puede ser una
INSERT, UPDATEo DELETEestado de cuenta o una instrucción SQL que no devuelve nada, como una instrucción DDL de SQL. |
int | executeUpdate(String sql, int autoGeneratedKeys)
Ejecuta la instrucción SQL determinada e indica al conductor con la bandera dada acerca de si las claves generadas automáticamente producidos por este
Statementobjeto deben estar disponibles para su recuperación. |
int | executeUpdate(String sql, int[] columnIndexes)
Ejecuta la instrucción SQL determinada e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación.
|
int | executeUpdate(String sql, String[] columnNames)
Ejecuta la instrucción SQL determinada e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación.
|
Connection | getConnection()
Recupera el
Connectionobjeto que produjo este Statementobjeto. |
int | getFetchDirection()
Recupera la dirección para capturar las filas de las tablas de base de datos que es el valor predeterminado para los conjuntos de resultados generados a partir de este
Statementobjeto. |
int | getFetchSize()
Recupera el número de filas del conjunto de resultados que es el valor por defecto traiga el tamaño de
ResultSetlos objetos generados a partir de este Statementobjeto. |
ResultSet | getGeneratedKeys()
Recupera las claves generadas automáticamente creados
como resultado de la ejecución de este
Statementobjeto. |
int | getMaxFieldSize()
Recupera el número máximo de bytes que se pueden
devolver a los valores de caracteres y de columna binaria en
un
ResultSet objeto producido por este Statementobjeto. |
int | getMaxRows()
Recupera el número máximo de filas que un
ResultSetobjeto producido por este Statementobjeto
puede contener.
|
boolean | getMoreResults()
Se traslada a este
Statementresultado siguiente de objeto,
devuelve
truesi se trata de un ResultSetobjeto, e
implícitamente cierra cualquier corriente de
ResultSet objeto
(s) obtenido con el método
getResultSet. |
boolean | getMoreResults(int current)
Se traslada a este
Statementresultado siguiente de objeto, se
ocupa de cualquier corriente de
ResultSetobjeto (s) de
acuerdo con las instrucciones especificadas por la bandera dado,
y devuelve
true si el siguiente resultado es un ResultSetobjeto. |
int | getQueryTimeout()
Recupera el número de segundos que el conductor le
esperará un
Statementobjeto a ejecutar. |
ResultSet | getResultSet()
Recupera el resultado actual como un
ResultSetobjeto. |
int | getResultSetConcurrency()
Recupera la concurrencia conjunto de resultados para
ResultSetlos objetos generados por este Statementobjeto. |
int | getResultSetHoldability()
Recupera el conjunto de resultados capacidad de retención de
ResultSetobjetos generados por este Statementobjeto. |
int | getResultSetType()
Recupera el tipo de conjunto de resultados para los
ResultSetobjetos generados por este Statementobjeto. |
int | getUpdateCount()
Recupera el resultado actual como una cuenta de actualización; si el resultado es un
ResultSetobjeto o no hay más resultados, se devuelve -1. |
SQLWarning | getWarnings()
Recupera el primer aviso lo informado por llamadas en este
Statementobjeto. |
boolean | isClosed()
Recupera si este
Statementobjeto ha sido cerrada. |
boolean | isCloseOnCompletion()
Devuelve un valor que indica si este
Statementse cerrará cuando todos sus conjuntos de resultados dependientes están cerrados. |
boolean | isPoolable()
Devuelve un valor que indica si
Statement es o no agrupables. |
void | setCursorName(String name)
Establece el nombre del cursor SQL a la propuesta
String, que será utilizado por los siguientes Statementobjetos executemétodos. |
void | setEscapeProcessing(boolean enable)
Equipos de escape de procesamiento de encendido o apagado.
|
void | setFetchDirection(int direction)
Ofrece al conductor una pista sobre la dirección en la que se procesarán las filas de
ResultSet objetos creados con este Statementobjeto. |
void | setFetchSize(int rows)
Da el controlador JDBC una pista sobre el número de filas que se debe recuperar la base de datos cuando se necesitan más filas de
ResultSetobjetos genrated por estaStatement. |
void | setMaxFieldSize(int max)
Establece el límite para el número máximo de bytes que se pueden devolver a los valores de caracteres y de columna binaria en un
ResultSet objeto producido por esteStatementobjeto. |
void | setMaxRows(int max)
Establece el límite para el número máximo de filas que cualquier
ResultSetobjeto que genera este Statement objeto puede contener al número dado. |
void | setPoolable(boolean poolable)
Solicita que un
Statementser agrupados o no agrupados. |
void | setQueryTimeout(int seconds)
Establece el número de segundos que el conductor le esperará un
Statementobjeto para ejecutar al número dado de segundos. |
Detalle de campo
CLOSE_CURRENT_RESULT
static final int CLOSE_CURRENT_RESULT
La constante que indica que el actual ResultSetobjeto debe estar cerrada cuando se llama getMoreResults.
- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
static final int CLOSE_CURRENT_RESULT
La constante que indica que el actualResultSetobjeto debe estar cerrada cuando se llamagetMoreResults.- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
KEEP_CURRENT_RESULT
static final int KEEP_CURRENT_RESULT
La constante que indica que el actual ResultSetobjeto no debe estar cerrada cuando se llama getMoreResults.
- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
static final int KEEP_CURRENT_RESULT
La constante que indica que el actualResultSetobjeto no debe estar cerrada cuando se llamagetMoreResults.- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
CLOSE_ALL_RESULTS
CLOSE_ALL_RESULTS static final int
La constante que indica que todos los ResultSetobjetos que han sido previamente guardados abiertos deben cerrarse cuando se llama getMoreResults.
- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
CLOSE_ALL_RESULTS static final int
La constante que indica que todos losResultSetobjetos que han sido previamente guardados abiertos deben cerrarse cuando se llamagetMoreResults.- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
SUCCESS_NO_INFO
static final int SUCCESS_NO_INFO
La constante que indica que una declaración por lotes ejecutado con éxito pero que ningún recuento del número de filas se vea afectado está disponible.
- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
static final int SUCCESS_NO_INFO
La constante que indica que una declaración por lotes ejecutado con éxito pero que ningún recuento del número de filas se vea afectado está disponible.- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
EXECUTE_FAILED
static final int EXECUTE_FAILED
La constante que indica que ocurrió un error al ejecutar una instrucción de proceso por lotes.
- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
static final int EXECUTE_FAILED
La constante que indica que ocurrió un error al ejecutar una instrucción de proceso por lotes.- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
RETURN_GENERATED_KEYS
RETURN_GENERATED_KEYS static final int
La constante que indica que las claves generadas deberían estar disponibles para su recuperación.
- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
RETURN_GENERATED_KEYS static final int
La constante que indica que las claves generadas deberían estar disponibles para su recuperación.- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
NO_GENERATED_KEYS
NO_GENERATED_KEYS static final int
La constante que indica que las claves generadas no deberían estar disponibles para su recuperación.
- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
NO_GENERATED_KEYS static final int
La constante que indica que las claves generadas no deberían estar disponibles para su recuperación.- Ya que:
- 1.4
- Ver también:
- Los valores de campo de constantes
Información sobre métodos
executeQuery
ResultSet executeQuery ( Cadena SQL)
lanza excepción de SQL
Ejecuta la sentencia de SQL, que devuelve un único ResultSetobjeto.Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql- Una instrucción SQL que se enviará a la base de datos, típicamente un SQL estático SELECTcomunicado
- Devuelve:
- un
ResultSetobjeto que contiene los datos producidos por la consulta dada; Nuncanull
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, la instrucción SQL dada produce que no sea una sola cosa ResultSetobjeto, el método se llama en unaPreparedStatementoCallableStatementSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
ResultSet executeQuery ( Cadena SQL) lanza excepción de SQL
Ejecuta la sentencia de SQL, que devuelve un únicoResultSetobjeto.Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Una instrucción SQL que se enviará a la base de datos, típicamente un SQL estáticoSELECTcomunicado- Devuelve:
- un
ResultSetobjeto que contiene los datos producidos por la consulta dada; Nuncanull - Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, la instrucción SQL dada produce que no sea una sola cosaResultSetobjeto, el método se llama en unaPreparedStatementoCallableStatementSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
executeUpdate
int executeUpdate ( Cadena SQL)
lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede ser una INSERT, UPDATEo DELETEestado de cuenta o una instrucción SQL que no devuelve nada, como una instrucción DDL de SQL.Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql- Un lenguaje de manipulación de datos SQL (DML), como por ejemplo INSERT, UPDATEo DELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL.
- Devuelve:
- o bien (1) el número de filas de datos SQL de lenguaje de manipulación (DML) o (2) 0 para las sentencias SQL que nada volver
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, la sentencia de SQL produce un ResultSetobjeto, el método se llama en unaPreparedStatementoCallableStatementSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
int executeUpdate ( Cadena SQL) lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede ser unaINSERT,UPDATEoDELETEestado de cuenta o una instrucción SQL que no devuelve nada, como una instrucción DDL de SQL.Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Un lenguaje de manipulación de datos SQL (DML), como por ejemploINSERT,UPDATEoDELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL.- Devuelve:
- o bien (1) el número de filas de datos SQL de lenguaje de manipulación (DML) o (2) 0 para las sentencias SQL que nada volver
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, la sentencia de SQL produce unResultSetobjeto, el método se llama en unaPreparedStatementoCallableStatementSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
cerca
void close ()
lanza excepción de SQL
Comunicados de esta Statementbase de datos del objeto y recursos JDBC de inmediato en lugar de esperar que esto suceda cuando se cierra automáticamente. Por lo general, es una buena práctica para liberar recursos tan pronto como haya terminado con ellos para evitar la inmovilización de recursos de base de datos.Al llamar al método closeen un Statement objeto que ya está cerrado no tiene ningún efecto.
Nota: Cuando un Statementobjeto está cerrado, su actual ResultSetobjeto, si es que existe, está también cerrada.
- Especificado por:
close en la interfaz AutoCloseable
- Emite:
SQLException - Si se produce un error de acceso a la base de datos
void close () lanza excepción de SQLComunicados de estaStatementbase de datos del objeto y recursos JDBC de inmediato en lugar de esperar que esto suceda cuando se cierra automáticamente. Por lo general, es una buena práctica para liberar recursos tan pronto como haya terminado con ellos para evitar la inmovilización de recursos de base de datos.Al llamar al métodocloseen unStatementobjeto que ya está cerrado no tiene ningún efecto.
Nota: Cuando unStatementobjeto está cerrado, su actualResultSetobjeto, si es que existe, está también cerrada.- Especificado por:
closeen la interfazAutoCloseable- Emite:
SQLException- Si se produce un error de acceso a la base de datos
getMaxFieldSize
int getMaxFieldSize ()
lanza excepción de SQL
Recupera el número máximo de bytes que se pueden devolver a los valores de caracteres y de columna binaria en un ResultSet objeto producido por este Statementobjeto. Este límite se aplica sólo a BINARY, VARBINARY,LONGVARBINARY, CHAR, VARCHAR, NCHAR, NVARCHAR, LONGNVARCHAR y LONGVARCHARcolumnas. Si se supera el límite, el exceso de datos se descarta en silencio.
- Devuelve:
- el límite de tamaño de la columna actual de columnas que almacenan carácter y los valores binarios; cero significa que no hay límite
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ver también:
setMaxFieldSize(int)
int getMaxFieldSize () lanza excepción de SQLRecupera el número máximo de bytes que se pueden devolver a los valores de caracteres y de columna binaria en unResultSetobjeto producido por esteStatementobjeto. Este límite se aplica sólo aBINARY,VARBINARY,LONGVARBINARY,CHAR,VARCHAR,NCHAR,NVARCHAR,LONGNVARCHARyLONGVARCHARcolumnas. Si se supera el límite, el exceso de datos se descarta en silencio.- Devuelve:
- el límite de tamaño de la columna actual de columnas que almacenan carácter y los valores binarios; cero significa que no hay límite
- Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ver también:
setMaxFieldSize(int)
setMaxFieldSize
setMaxFieldSize vacío (int max)
lanza excepción de SQL
Establece el límite para el número máximo de bytes que se pueden devolver a los valores de caracteres y de columna binaria en un ResultSet objeto producido por este Statementobjeto. Este límite se aplica sólo a BINARY,VARBINARY, LONGVARBINARY, CHAR, VARCHAR, NCHAR, NVARCHAR, LONGNVARCHARy LONGVARCHARcampos. Si se supera el límite, el exceso de datos se descarta en silencio. Para obtener la máxima portabilidad, uso valores superiores a 256.
- parámetros:
max- El nuevo límite de tamaño de columna en bytes; cero significa que no hay límite
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement o la condición max> = 0 no se cumple
- Ver también:
getMaxFieldSize()
setMaxFieldSize vacío (int max) lanza excepción de SQLEstablece el límite para el número máximo de bytes que se pueden devolver a los valores de caracteres y de columna binaria en unResultSetobjeto producido por esteStatementobjeto. Este límite se aplica sólo aBINARY,VARBINARY,LONGVARBINARY,CHAR,VARCHAR,NCHAR,NVARCHAR,LONGNVARCHARyLONGVARCHARcampos. Si se supera el límite, el exceso de datos se descarta en silencio. Para obtener la máxima portabilidad, uso valores superiores a 256.- parámetros:
max- El nuevo límite de tamaño de columna en bytes; cero significa que no hay límite- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatemento la condición max> = 0 no se cumple- Ver también:
getMaxFieldSize()
getMaxRows
int getMaxRows ()
lanza excepción de SQL
Recupera el número máximo de filas que un ResultSetobjeto producido por este Statementobjeto puede contener. Si se supera este límite, el exceso de filas se dejan caer en silencio.
- Devuelve:
- el número máximo actual de filas de un
ResultSet objeto producido por este Statementobjeto; cero significa que no hay límite
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ver también:
setMaxRows(int)
int getMaxRows () lanza excepción de SQLRecupera el número máximo de filas que unResultSetobjeto producido por esteStatementobjeto puede contener. Si se supera este límite, el exceso de filas se dejan caer en silencio.- Devuelve:
- el número máximo actual de filas de un
ResultSetobjeto producido por esteStatementobjeto; cero significa que no hay límite - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ver también:
setMaxRows(int)
setMaxRows
setMaxRows void (int max)
lanza excepción de SQL
Establece el límite para el número máximo de filas que cualquier ResultSetobjeto que genera este Statement objeto puede contener al número dado. Si se supera el límite, el exceso de filas se dejan caer en silencio.
- parámetros:
max- Las nuevas filas Límite máximo; cero significa que no hay límite
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement o la condición max> = 0 no se cumple
- Ver también:
getMaxRows()
setMaxRows void (int max) lanza excepción de SQLEstablece el límite para el número máximo de filas que cualquierResultSetobjeto que genera esteStatementobjeto puede contener al número dado. Si se supera el límite, el exceso de filas se dejan caer en silencio.- parámetros:
max- Las nuevas filas Límite máximo; cero significa que no hay límite- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatemento la condición max> = 0 no se cumple- Ver también:
getMaxRows()
setEscapeProcessing
setEscapeProcessing vacío (boolean enable)
lanza excepción de SQL
Equipos de escape de procesamiento de encendido o apagado. Si la exploración de escape está activado (por defecto), el conductor va a hacer la sustitución de escape antes de enviar la instrucción SQL para la base de datos. Nota: Dado que las declaraciones preparadas por lo general se han analizado antes de hacer esta llamada, la desactivación de procesamiento de escape para los PreparedStatementsobjetos no tendrá ningún efecto.
- parámetros:
enable- truePara permitir el procesamiento de escape; falsepara desactivarlo
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
setEscapeProcessing vacío (boolean enable) lanza excepción de SQLEquipos de escape de procesamiento de encendido o apagado. Si la exploración de escape está activado (por defecto), el conductor va a hacer la sustitución de escape antes de enviar la instrucción SQL para la base de datos. Nota: Dado que las declaraciones preparadas por lo general se han analizado antes de hacer esta llamada, la desactivación de procesamiento de escape para losPreparedStatementsobjetos no tendrá ningún efecto.- parámetros:
enable-truePara permitir el procesamiento de escape;falsepara desactivarlo- Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement
getQueryTimeout
int getQueryTimeout ()
lanza excepción de SQL
Recupera el número de segundos que el conductor le esperará un Statementobjeto a ejecutar. Si se supera el límite, una SQLExceptiones lanzada.
- Devuelve:
- el límite de tiempo de espera de consulta actual en segundos; cero significa que no hay límite
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ver también:
setQueryTimeout(int)
int getQueryTimeout () lanza excepción de SQLRecupera el número de segundos que el conductor le esperará unStatementobjeto a ejecutar. Si se supera el límite, unaSQLExceptiones lanzada.- Devuelve:
- el límite de tiempo de espera de consulta actual en segundos; cero significa que no hay límite
- Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ver también:
setQueryTimeout(int)
setQueryTimeout
setQueryTimeout vacío (int segundos)
lanza excepción de SQL
Establece el número de segundos que el conductor le esperará un Statementobjeto para ejecutar al número dado de segundos. De forma predeterminada no hay límite en la cantidad de tiempo permitido para ejecutar una declaración para completar. Si se supera el límite, una SQLTimeoutExceptiones echada. Un controlador JDBC debe aplicar este límite a las execute, executeQueryy los executeUpdatemétodos.Nota: Las implementaciones de controladores JDBC también podrá aplicar ese límite a ResultSetmétodos (consulte la documentación del fabricante del controlador para obtener detalles).
Nota: En el caso de Statementprocesamiento por lotes, se aplicación definida en cuanto a si el tiempo de espera se aplica a los comandos SQL individuales añadido a través del addBatchmétodo o de la totalidad del lote de comandos SQL invocados por el executeBatch método (consulte la documentación del fabricante del controlador para obtener detalles) .
- parámetros:
seconds- El nuevo límite de tiempo de espera de consulta en segundos; cero significa que no hay límite
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement o los segundos condición> = 0 no se cumple
- Ver también:
getQueryTimeout()
setQueryTimeout vacío (int segundos) lanza excepción de SQLEstablece el número de segundos que el conductor le esperará unStatementobjeto para ejecutar al número dado de segundos. De forma predeterminada no hay límite en la cantidad de tiempo permitido para ejecutar una declaración para completar. Si se supera el límite, unaSQLTimeoutExceptiones echada. Un controlador JDBC debe aplicar este límite a lasexecute,executeQueryy losexecuteUpdatemétodos.Nota: Las implementaciones de controladores JDBC también podrá aplicar ese límite aResultSetmétodos (consulte la documentación del fabricante del controlador para obtener detalles).
Nota: En el caso deStatementprocesamiento por lotes, se aplicación definida en cuanto a si el tiempo de espera se aplica a los comandos SQL individuales añadido a través deladdBatchmétodo o de la totalidad del lote de comandos SQL invocados por elexecuteBatchmétodo (consulte la documentación del fabricante del controlador para obtener detalles) .- parámetros:
seconds- El nuevo límite de tiempo de espera de consulta en segundos; cero significa que no hay límite- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatemento los segundos condición> = 0 no se cumple- Ver también:
getQueryTimeout()
cancelar
void cancel ()
lanza excepción de SQL
Cancela este Statementobjeto si tanto el DBMS y la compatibilidad de controladores abortar una instrucción SQL. Este método puede ser utilizado por un hilo de rosca para cancelar una declaración que está siendo ejecutado por otro subproceso.
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada StatementSQLFeatureNotSupportedException - Si el controlador JDBC no es compatible con este método
void cancel () lanza excepción de SQLCancela esteStatementobjeto si tanto el DBMS y la compatibilidad de controladores abortar una instrucción SQL. Este método puede ser utilizado por un hilo de rosca para cancelar una declaración que está siendo ejecutado por otro subproceso.- Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatementSQLFeatureNotSupportedException- Si el controlador JDBC no es compatible con este método
getWarnings
SQLWARNING getWarnings ()
lanza excepción de SQL
Recupera el primer aviso lo informado por llamadas en este Statementobjeto. Subsecuentes Statementadvertencias objetos serán encadenados a este SQLWarningobjeto.La cadena de alerta se borra automáticamente cada vez que una declaración es (re) ejecutado. Este método no puede ser llamado en un cerrado Statementobjeto; al hacerlo causará una SQLException para ser lanzado.
Nota: Si va a procesar un ResultSetobjeto, cualquier advertencia asociados con lee en ese ResultSetobjeto será encadenado en él y no en el Statement objeto que la produjo.
- Devuelve:
- el primer
SQLWarningobjeto o null si no hay avisos
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
SQLWARNING getWarnings () lanza excepción de SQL
Recupera el primer aviso lo informado por llamadas en esteStatementobjeto. SubsecuentesStatementadvertencias objetos serán encadenados a esteSQLWarningobjeto.La cadena de alerta se borra automáticamente cada vez que una declaración es (re) ejecutado. Este método no puede ser llamado en un cerradoStatementobjeto; al hacerlo causará unaSQLExceptionpara ser lanzado.
Nota: Si va a procesar unResultSetobjeto, cualquier advertencia asociados con lee en eseResultSetobjeto será encadenado en él y no en elStatementobjeto que la produjo.- Devuelve:
- el primer
SQLWarningobjeto onullsi no hay avisos - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement
clearWarnings
clearWarnings void ()
lanza excepción de SQL
Borra todos los avisos reportados por este Statement objeto. Después de llamar a este método, el método getWarningsdevolverá nullhasta que se informó de una nueva advertencia para este Statementobjeto.
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
clearWarnings void () lanza excepción de SQLBorra todos los avisos reportados por esteStatementobjeto. Después de llamar a este método, el métodogetWarningsdevolveránullhasta que se informó de una nueva advertencia para esteStatementobjeto.- Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement
setCursorName
setCursorName vacío ( Cadena nombre)
lanza excepción de SQL
Establece el nombre del cursor SQL a la propuesta String, que será utilizado por los siguientes Statementobjetos executemétodos. Este nombre puede ser utilizado en la actualización de SQL o DELETE de posición para identificar la fila actual en el ResultSetobjeto generado por esta declaración. Si la base de datos no admite la actualización posicionada / borrar, este método es un NOOP. Para asegurar que un cursor tiene el nivel de aislamiento adecuado para soportar cambios, el cursor de SELECTdeclaración debe tener la forma SELECT FOR UPDATE. Si FOR UPDATEno está presente, actualizaciones de posición pueden fallar.Nota: Por definición, la ejecución de actualizaciones por posición y eliminaciones debe ser realizado por un diferente Statementobjeto que el que genera el ResultSetobjeto que está siendo utilizado para el posicionamiento.Además, los nombres de cursor deben ser únicos dentro de una conexión.
- parámetros:
name - El nuevo nombre de cursor, que debe ser único dentro de una conexión
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada StatementSQLFeatureNotSupportedException - Si el controlador JDBC no es compatible con este método
setCursorName vacío ( Cadena nombre) lanza excepción de SQL
Establece el nombre del cursor SQL a la propuestaString, que será utilizado por los siguientesStatementobjetosexecutemétodos. Este nombre puede ser utilizado en la actualización de SQL o DELETE de posición para identificar la fila actual en elResultSetobjeto generado por esta declaración. Si la base de datos no admite la actualización posicionada / borrar, este método es un NOOP. Para asegurar que un cursor tiene el nivel de aislamiento adecuado para soportar cambios, el cursor deSELECTdeclaración debe tener la formaSELECT FOR UPDATE. SiFOR UPDATEno está presente, actualizaciones de posición pueden fallar.Nota: Por definición, la ejecución de actualizaciones por posición y eliminaciones debe ser realizado por un diferenteStatementobjeto que el que genera elResultSetobjeto que está siendo utilizado para el posicionamiento.Además, los nombres de cursor deben ser únicos dentro de una conexión.- parámetros:
name- El nuevo nombre de cursor, que debe ser único dentro de una conexión- Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatementSQLFeatureNotSupportedException- Si el controlador JDBC no es compatible con este método
ejecutar
boolean execute ( Cadena SQL)
lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados. En algunas situaciones (poco frecuentes), una única sentencia SQL puede devolver varios conjuntos de resultados y / o cuentas de actualización.Normalmente se puede pasar por alto esta a menos que esté (1) la ejecución de un procedimiento almacenado que usted conoce puede devolver varios resultados o (2) que está ejecutando dinámicamente una cadena SQL desconocido.El executemétodo se ejecuta una instrucción SQL e indica la forma del primer resultado. A continuación, debe utilizar los métodos getResultSeto getUpdateCount para recuperar el resultado, y getMoreResultspara desplazarse a cualquier resultado (s) subsiguiente.
Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql - Cualquier instrucción SQL
- Devuelve:
truesi el primer resultado es un ResultSet objeto; falsesi se trata de una cuenta de actualización o no hay resultados
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, el método se llama en una PreparedStatementoCallableStatementSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
- Ver también:
getResultSet(), getUpdateCount(), getMoreResults()
boolean execute ( Cadena SQL) lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados. En algunas situaciones (poco frecuentes), una única sentencia SQL puede devolver varios conjuntos de resultados y / o cuentas de actualización.Normalmente se puede pasar por alto esta a menos que esté (1) la ejecución de un procedimiento almacenado que usted conoce puede devolver varios resultados o (2) que está ejecutando dinámicamente una cadena SQL desconocido.Elexecutemétodo se ejecuta una instrucción SQL e indica la forma del primer resultado. A continuación, debe utilizar los métodosgetResultSetogetUpdateCountpara recuperar el resultado, ygetMoreResultspara desplazarse a cualquier resultado (s) subsiguiente.
Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Cualquier instrucción SQL- Devuelve:
truesi el primer resultado es unResultSetobjeto;falsesi se trata de una cuenta de actualización o no hay resultados- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, el método se llama en unaPreparedStatementoCallableStatementSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement- Ver también:
getResultSet(),getUpdateCount(),getMoreResults()
getResultSet
ResultSet getResultSet ()
lanza excepción de SQL
Recupera el resultado actual como un ResultSetobjeto. Este método debe ser llamado sólo una vez por resultado.
- Devuelve:
- el resultado actual como un
ResultSetobjeto o nullsi el resultado es una cuenta de actualización o no hay más resultados
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ver también:
execute(java.lang.String)
ResultSet getResultSet () lanza excepción de SQL
Recupera el resultado actual como unResultSetobjeto. Este método debe ser llamado sólo una vez por resultado.- Devuelve:
- el resultado actual como un
ResultSetobjeto onullsi el resultado es una cuenta de actualización o no hay más resultados - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ver también:
execute(java.lang.String)
getUpdateCount
int getUpdateCount ()
lanza excepción de SQL
Recupera el resultado actual como una cuenta de actualización; si el resultado es un ResultSetobjeto o no hay más resultados, se devuelve -1. Este método debe ser llamado sólo una vez por resultado.
- Devuelve:
- el resultado actual como una cuenta de actualización; -1 Si el resultado actual es un
ResultSetobjeto o no hay más resultados
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ver también:
execute(java.lang.String)
int getUpdateCount () lanza excepción de SQLRecupera el resultado actual como una cuenta de actualización; si el resultado es unResultSetobjeto o no hay más resultados, se devuelve -1. Este método debe ser llamado sólo una vez por resultado.- Devuelve:
- el resultado actual como una cuenta de actualización; -1 Si el resultado actual es un
ResultSetobjeto o no hay más resultados - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ver también:
execute(java.lang.String)
getMoreResults
getMoreResults Boolean ()
lanza excepción de SQL
Se traslada a este Statementresultado siguiente de objeto, devuelve truesi se trata de un ResultSetobjeto, e implícitamente cierra cualquier corriente de ResultSet objeto (s) obtenido con el método getResultSet.No hay más resultados cuando se cumple lo siguiente:
// Stmt es un objeto Statement
((stmt.getMoreResults () == false) && (stmt.getUpdateCount () == -1))
- Devuelve:
truesi el siguiente resultado es un ResultSet objeto; falsesi se trata de una cuenta de actualización o no hay más resultados
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ver también:
execute(java.lang.String)
getMoreResults Boolean () lanza excepción de SQLSe traslada a esteStatementresultado siguiente de objeto, devuelvetruesi se trata de unResultSetobjeto, e implícitamente cierra cualquier corriente deResultSetobjeto (s) obtenido con el métodogetResultSet.No hay más resultados cuando se cumple lo siguiente:
// Stmt es un objeto Statement ((stmt.getMoreResults () == false) && (stmt.getUpdateCount () == -1))- Devuelve:
truesi el siguiente resultado es unResultSetobjeto;falsesi se trata de una cuenta de actualización o no hay más resultados- Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ver también:
execute(java.lang.String)
setFetchDirection
setFetchDirection vacío (dirección int)
lanza excepción de SQL
Ofrece al conductor una pista sobre la dirección en la que se procesarán las filas de ResultSet objetos creados con este Statementobjeto. El valor por defecto es ResultSet.FETCH_FORWARD.Tenga en cuenta que este método establece el valor por defecto traiga dirección para conjuntos de resultados generados por este Statementobjeto. Cada conjunto de resultados tiene sus propios métodos para obtener y establecer su propia dirección obtención de información.
- parámetros:
direction - La dirección inicial para las filas de procesamiento
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement o la dirección dada no es uno de ResultSet.FETCH_FORWARD,ResultSet.FETCH_REVERSEoResultSet.FETCH_UNKNOWN
- Ya que:
- 1.2
- Ver también:
getFetchDirection()
setFetchDirection vacío (dirección int) lanza excepción de SQLOfrece al conductor una pista sobre la dirección en la que se procesarán las filas deResultSetobjetos creados con esteStatementobjeto. El valor por defecto esResultSet.FETCH_FORWARD.Tenga en cuenta que este método establece el valor por defecto traiga dirección para conjuntos de resultados generados por esteStatementobjeto. Cada conjunto de resultados tiene sus propios métodos para obtener y establecer su propia dirección obtención de información.- parámetros:
direction- La dirección inicial para las filas de procesamiento- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatemento la dirección dada no es uno deResultSet.FETCH_FORWARD,ResultSet.FETCH_REVERSEoResultSet.FETCH_UNKNOWN- Ya que:
- 1.2
- Ver también:
getFetchDirection()
getFetchDirection
int getFetchDirection ()
lanza excepción de SQL
Recupera la dirección para capturar las filas de las tablas de base de datos que es el valor predeterminado para los conjuntos de resultados generados a partir de este Statementobjeto. Si este Statementobjeto no se ha fijado una dirección podido recuperar llamando al método setFetchDirection, el valor de retorno es específico de la implementación.
- Devuelve:
- el valor por defecto traiga dirección para conjuntos de resultados generados a partir de este
Statementobjeto
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ya que:
- 1.2
- Ver también:
setFetchDirection(int)
int getFetchDirection () lanza excepción de SQLRecupera la dirección para capturar las filas de las tablas de base de datos que es el valor predeterminado para los conjuntos de resultados generados a partir de esteStatementobjeto. Si esteStatementobjeto no se ha fijado una dirección podido recuperar llamando al métodosetFetchDirection, el valor de retorno es específico de la implementación.- Devuelve:
- el valor por defecto traiga dirección para conjuntos de resultados generados a partir de este
Statementobjeto - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ya que:
- 1.2
- Ver también:
setFetchDirection(int)
setFetchSize
setFetchSize vacío (int filas)
lanza excepción de SQL
Da el controlador JDBC una pista sobre el número de filas que se debe recuperar la base de datos cuando se necesitan más filas de ResultSetobjetos genrated por esta Statement. Si el valor especificado es cero, entonces la pista se ignora. El valor por defecto es cero.
- parámetros:
rows - El número de filas hay que seleccionar
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statemento la condición rows >= 0no se cumple.
- Ya que:
- 1.2
- Ver también:
getFetchSize()
setFetchSize vacío (int filas) lanza excepción de SQLDa el controlador JDBC una pista sobre el número de filas que se debe recuperar la base de datos cuando se necesitan más filas deResultSetobjetos genrated por estaStatement. Si el valor especificado es cero, entonces la pista se ignora. El valor por defecto es cero.- parámetros:
rows- El número de filas hay que seleccionar- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatemento la condiciónrows >= 0no se cumple.- Ya que:
- 1.2
- Ver también:
getFetchSize()
getFetchSize
int getFetchSize ()
lanza excepción de SQL
Recupera el número de filas del conjunto de resultados que es el valor por defecto traiga el tamaño de ResultSetlos objetos generados a partir de este Statementobjeto. Si este Statementobjeto no se ha fijado un tamaño de recuperación mediante una llamada al método setFetchSize, el valor de retorno es específico de la implementación.
- Devuelve:
- el valor por defecto traiga tamaño para los conjuntos de resultados generados a partir de este
Statementobjeto
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ya que:
- 1.2
- Ver también:
setFetchSize(int)
int getFetchSize () lanza excepción de SQLRecupera el número de filas del conjunto de resultados que es el valor por defecto traiga el tamaño deResultSetlos objetos generados a partir de esteStatementobjeto. Si esteStatementobjeto no se ha fijado un tamaño de recuperación mediante una llamada al métodosetFetchSize, el valor de retorno es específico de la implementación.- Devuelve:
- el valor por defecto traiga tamaño para los conjuntos de resultados generados a partir de este
Statementobjeto - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ya que:
- 1.2
- Ver también:
setFetchSize(int)
getResultSetConcurrency
int getResultSetConcurrency ()
lanza excepción de SQL
Recupera la concurrencia conjunto de resultados para ResultSetlos objetos generados por este Statementobjeto.
- Devuelve:
- ya sea
ResultSet.CONCUR_READ_ONLYo ResultSet.CONCUR_UPDATABLE
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ya que:
- 1.2
int getResultSetConcurrency () lanza excepción de SQLRecupera la concurrencia conjunto de resultados paraResultSetlos objetos generados por esteStatementobjeto.- Devuelve:
- ya sea
ResultSet.CONCUR_READ_ONLYoResultSet.CONCUR_UPDATABLE - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ya que:
- 1.2
getResultSetType
int getResultSetType ()
lanza excepción de SQL
Recupera el tipo de conjunto de resultados para los ResultSetobjetos generados por este Statementobjeto.
- Devuelve:
- uno de
ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVEo ResultSet.TYPE_SCROLL_SENSITIVE
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ya que:
- 1.2
int getResultSetType () lanza excepción de SQLRecupera el tipo de conjunto de resultados para losResultSetobjetos generados por esteStatementobjeto.- Devuelve:
- uno de
ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVEoResultSet.TYPE_SCROLL_SENSITIVE - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ya que:
- 1.2
addBatch
addBatch vacío ( cadena SQL)
lanza excepción de SQL
Añade el comando SQL dada a la lista actual de commmands de este Statementobjeto. Los comandos en esta lista se pueden ejecutar como un lote mediante una llamada al método executeBatch.Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql- Por lo general se trata de un SQL INSERTo UPDATEdeclaración
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, el conductor no es compatible con las actualizaciones por lotes, el método se llama en unaPreparedStatementoCallableStatement
- Ya que:
- 1.2
- Ver también:
executeBatch(), DatabaseMetaData.supportsBatchUpdates()
addBatch vacío ( cadena SQL) lanza excepción de SQL
Añade el comando SQL dada a la lista actual de commmands de esteStatementobjeto. Los comandos en esta lista se pueden ejecutar como un lote mediante una llamada al métodoexecuteBatch.Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Por lo general se trata de un SQLINSERToUPDATEdeclaración- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, el conductor no es compatible con las actualizaciones por lotes, el método se llama en unaPreparedStatementoCallableStatement- Ya que:
- 1.2
- Ver también:
executeBatch(),DatabaseMetaData.supportsBatchUpdates()
clearBatch
clearBatch anular ()
lanza excepción de SQL
Vacía esta Statementlista actual de objetos de comandos SQL.
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statemento si el conductor no es compatible con las actualizaciones por lotes
- Ya que:
- 1.2
- Ver también:
addBatch(java.lang.String), DatabaseMetaData.supportsBatchUpdates()
clearBatch anular () lanza excepción de SQLVacía estaStatementlista actual de objetos de comandos SQL.- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatemento si el conductor no es compatible con las actualizaciones por lotes- Ya que:
- 1.2
- Ver también:
addBatch(java.lang.String),DatabaseMetaData.supportsBatchUpdates()
executeBatch
int [] executeBatch ()
lanza excepción de SQL
Presenta un lote de comandos a la base de datos para su ejecución y si todos los comandos se ejecutan con éxito, devuelve una tabla de cuentas de actualización. Los intelementos de la matriz que se devuelve se les ordena que corresponden a los comandos en el lote, que están ordenados según el orden en que se añadieron al lote. Los elementos de la matriz devuelta por el método executeBatch puede ser una de las siguientes:
- Un número mayor que o igual a cero - indica que el comando se ha procesado correctamente y es una cuenta de actualización que indica el número de filas en la base de datos que fueron afectadas por la ejecución del comando
- Un valor de
SUCCESS_NO_INFO- indica que el mandato se ha procesado con éxito pero que el número de filas afectadas es desconocidaSi uno de los comandos en una actualización por lotes no se ejecuta correctamente, este método lanza una BatchUpdateException, y un controlador JDBC puede o no puede continuar procesando los comandos restantes en el lote. Sin embargo, el comportamiento del conductor debe ser consistente con un DBMS particular, ya sea siempre continúa procesando comandos o nunca continúa procesando comandos. Si el controlador de seguir con el procesamiento después de un fallo, la matriz devuelta por el método BatchUpdateException.getUpdateCounts contendrá tantos elementos como hay comandos en el lote, y al menos uno de los elementos será el siguiente:
- Un valor de
EXECUTE_FAILED- indica que el comando no se pudo ejecutar con éxito y sólo se produce si un conductor continúa procesando comandos después de un comando falla
Los posibles implementaciones y valores de retorno se han modificado en el SDK Java 2, Standard Edition, versión 1.3 para dar cabida a la opción de seguir Proccess comandos en una actualización por lotes después de unBatchUpdateExceptionobejct ha sido lanzado.
- Devuelve:
- una matriz de actualización de cuenta que contiene un elemento para cada comando en el lote. Los elementos de la matriz se ordenan según el orden en que los comandos se añadieron al lote.
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statemento si el conductor no es compatible con las declaraciones de lotes. Lanza BatchUpdateException (una subclase de SQLException) si uno de los comandos enviados a la base de datos no se puede ejecutar correctamente o los intentos de devolver un conjunto de resultados.SQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
- Ya que:
- 1.2
- Ver también:
addBatch(java.lang.String), DatabaseMetaData.supportsBatchUpdates()
int [] executeBatch () lanza excepción de SQLPresenta un lote de comandos a la base de datos para su ejecución y si todos los comandos se ejecutan con éxito, devuelve una tabla de cuentas de actualización. Losintelementos de la matriz que se devuelve se les ordena que corresponden a los comandos en el lote, que están ordenados según el orden en que se añadieron al lote. Los elementos de la matriz devuelta por el métodoexecuteBatchpuede ser una de las siguientes:
- Un número mayor que o igual a cero - indica que el comando se ha procesado correctamente y es una cuenta de actualización que indica el número de filas en la base de datos que fueron afectadas por la ejecución del comando
- Un valor de
SUCCESS_NO_INFO- indica que el mandato se ha procesado con éxito pero que el número de filas afectadas es desconocidaSi uno de los comandos en una actualización por lotes no se ejecuta correctamente, este método lanza unaBatchUpdateException, y un controlador JDBC puede o no puede continuar procesando los comandos restantes en el lote. Sin embargo, el comportamiento del conductor debe ser consistente con un DBMS particular, ya sea siempre continúa procesando comandos o nunca continúa procesando comandos. Si el controlador de seguir con el procesamiento después de un fallo, la matriz devuelta por el métodoBatchUpdateException.getUpdateCountscontendrá tantos elementos como hay comandos en el lote, y al menos uno de los elementos será el siguiente:
- Un valor de
EXECUTE_FAILED- indica que el comando no se pudo ejecutar con éxito y sólo se produce si un conductor continúa procesando comandos después de un comando falla
BatchUpdateExceptionobejct ha sido lanzado.- Devuelve:
- una matriz de actualización de cuenta que contiene un elemento para cada comando en el lote. Los elementos de la matriz se ordenan según el orden en que los comandos se añadieron al lote.
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatemento si el conductor no es compatible con las declaraciones de lotes. LanzaBatchUpdateException(una subclase deSQLException) si uno de los comandos enviados a la base de datos no se puede ejecutar correctamente o los intentos de devolver un conjunto de resultados.SQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement- Ya que:
- 1.2
- Ver también:
addBatch(java.lang.String),DatabaseMetaData.supportsBatchUpdates()
getConnection
Conexión getConnection ()
lanza excepción de SQL
Recupera el Connectionobjeto que produjo este Statementobjeto.
- Devuelve:
- la conexión que produjo esta declaración
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ya que:
- 1.2
Conexión getConnection () lanza excepción de SQL
Recupera elConnectionobjeto que produjo esteStatementobjeto.- Devuelve:
- la conexión que produjo esta declaración
- Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ya que:
- 1.2
getMoreResults
getMoreResults booleanos (int actual)
lanza excepción de SQL
Se traslada a este Statementresultado siguiente de objeto, se ocupa de cualquier corriente de ResultSetobjeto (s) de acuerdo con las instrucciones especificadas por la bandera dado, y devuelve truesi el siguiente resultado es unResultSetobjeto.No hay más resultados cuando se cumple lo siguiente:
// Stmt es un objeto Statement
((Stmt.getMoreResults (actual) == false) && (stmt.getUpdateCount () == -1))
- parámetros:
current- Una de las siguientes Statement constantes que indica lo que debe suceder a los actuales ResultSetobjetos obtenidos usando el método getResultSet: Statement.CLOSE_CURRENT_RESULT,Statement.KEEP_CURRENT_RESULTo Statement.CLOSE_ALL_RESULTS
- Devuelve:
truesi el siguiente resultado es un ResultSet objeto; falsesi se trata de una cuenta de actualización o no hay más resultados
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statemento el argumento suministrado no es uno de los siguientes: Statement.CLOSE_CURRENT_RESULT,Statement.KEEP_CURRENT_RESULTo Statement.CLOSE_ALL_RESULTSSQLFeatureNotSupportedException- Si DatabaseMetaData.supportsMultipleOpenResultsregresa falsey ya sea Statement.KEEP_CURRENT_RESULTo Statement.CLOSE_ALL_RESULTSse suministran como argumento.
- Ya que:
- 1.4
- Ver también:
execute(java.lang.String)
getMoreResults booleanos (int actual) lanza excepción de SQLSe traslada a esteStatementresultado siguiente de objeto, se ocupa de cualquier corriente deResultSetobjeto (s) de acuerdo con las instrucciones especificadas por la bandera dado, y devuelvetruesi el siguiente resultado es unResultSetobjeto.No hay más resultados cuando se cumple lo siguiente:
// Stmt es un objeto Statement ((Stmt.getMoreResults (actual) == false) && (stmt.getUpdateCount () == -1))- parámetros:
current- Una de las siguientesStatementconstantes que indica lo que debe suceder a los actualesResultSetobjetos obtenidos usando el métodogetResultSet:Statement.CLOSE_CURRENT_RESULT,Statement.KEEP_CURRENT_RESULToStatement.CLOSE_ALL_RESULTS- Devuelve:
truesi el siguiente resultado es unResultSetobjeto;falsesi se trata de una cuenta de actualización o no hay más resultados- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatemento el argumento suministrado no es uno de los siguientes:Statement.CLOSE_CURRENT_RESULT,Statement.KEEP_CURRENT_RESULToStatement.CLOSE_ALL_RESULTSSQLFeatureNotSupportedException- SiDatabaseMetaData.supportsMultipleOpenResultsregresafalsey ya seaStatement.KEEP_CURRENT_RESULToStatement.CLOSE_ALL_RESULTSse suministran como argumento.- Ya que:
- 1.4
- Ver también:
execute(java.lang.String)
getGeneratedKeys
ResultSet getGeneratedKeys ()
lanza excepción de SQL
Recupera las claves generadas automáticamente creados como resultado de la ejecución de este Statementobjeto. Si este Statementobjeto no generó ninguna tecla, un vacío ResultSet se devuelve objeto.Nota: Si no se especificaron las columnas que representan las claves generadas automáticamente, la implementación del controlador JDBC determinará las columnas que mejor representan las claves generadas automáticamente.
- Devuelve:
- un
ResultSetobjeto que contiene la clave (s) generada automáticamente generada por la ejecución de este Statementobjeto
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada StatementSQLFeatureNotSupportedException - Si el controlador JDBC no es compatible con este método
- Ya que:
- 1.4
ResultSet getGeneratedKeys () lanza excepción de SQL
Recupera las claves generadas automáticamente creados como resultado de la ejecución de esteStatementobjeto. Si esteStatementobjeto no generó ninguna tecla, un vacíoResultSetse devuelve objeto.Nota: Si no se especificaron las columnas que representan las claves generadas automáticamente, la implementación del controlador JDBC determinará las columnas que mejor representan las claves generadas automáticamente.- Devuelve:
- un
ResultSetobjeto que contiene la clave (s) generada automáticamente generada por la ejecución de esteStatementobjeto - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatementSQLFeatureNotSupportedException- Si el controlador JDBC no es compatible con este método- Ya que:
- 1.4
executeUpdate
int executeUpdate ( Cadena SQL,
int autoGeneratedKeys)
lanza excepción de SQL
Ejecuta la instrucción SQL determinada e indica al conductor con la bandera dada acerca de si las claves generadas automáticamente producidos por este Statementobjeto deben estar disponibles para su recuperación. El controlador ignorará la bandera si la instrucción SQL no es una INSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql- Un lenguaje de manipulación de datos SQL (DML), como por ejemplo INSERT, UPDATEo DELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL.autoGeneratedKeys- Una bandera que indica si las claves generadas automáticamente deberían estar disponibles para su recuperación; uno de las siguientes constantes: Statement.RETURN_GENERATED_KEYSStatement.NO_GENERATED_KEYS
- Devuelve:
- o bien (1) el número de filas de datos SQL de lenguaje de manipulación (DML) o (2) 0 para las sentencias SQL que nada volver
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, la sentencia de SQL devuelve un ResultSetobjeto, la constante dada no es uno de los permitidos, el método se llama en una PreparedStatementoCallableStatementSQLFeatureNotSupportedException - Si el controlador JDBC no admite este método con una constante de Statement.RETURN_GENERATED_KEYSSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
- Ya que:
- 1.4
int executeUpdate ( Cadena SQL, int autoGeneratedKeys) lanza excepción de SQL
Ejecuta la instrucción SQL determinada e indica al conductor con la bandera dada acerca de si las claves generadas automáticamente producidos por esteStatementobjeto deben estar disponibles para su recuperación. El controlador ignorará la bandera si la instrucción SQL no es unaINSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Un lenguaje de manipulación de datos SQL (DML), como por ejemploINSERT,UPDATEoDELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL.autoGeneratedKeys- Una bandera que indica si las claves generadas automáticamente deberían estar disponibles para su recuperación; uno de las siguientes constantes:Statement.RETURN_GENERATED_KEYSStatement.NO_GENERATED_KEYS- Devuelve:
- o bien (1) el número de filas de datos SQL de lenguaje de manipulación (DML) o (2) 0 para las sentencias SQL que nada volver
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, la sentencia de SQL devuelve unResultSetobjeto, la constante dada no es uno de los permitidos, el método se llama en unaPreparedStatementoCallableStatementSQLFeatureNotSupportedException- Si el controlador JDBC no admite este método con una constante de Statement.RETURN_GENERATED_KEYSSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement- Ya que:
- 1.4
executeUpdate
int executeUpdate ( Cadena SQL,
int [] columnIndexes)
lanza excepción de SQL
Ejecuta la instrucción SQL determinada e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación. Esta matriz contiene los índices de las columnas en la tabla de destino que contienen las claves generadas automáticamente que deberían ponerse a disposición. El controlador ignorará la matriz si la instrucción SQL no es una INSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql- Un lenguaje de manipulación de datos SQL (DML), como por ejemplo INSERT, UPDATEo DELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL.columnIndexes - Un conjunto de índices de columna que indica las columnas que deben ser devueltos de la fila insertada
- Devuelve:
- o bien (1) el número de filas de datos SQL de lenguaje de manipulación (DML) o (2) 0 para las sentencias SQL que nada volver
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, la instrucción SQL devuelve un ResultSetobjeto, el segundo argumento suministrado a este método no es una intmatriz cuyos elementos son los índices de columna válidos, el método se llama en una PreparedStatementoCallableStatementSQLFeatureNotSupportedException - Si el controlador JDBC no es compatible con este métodoSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
- Ya que:
- 1.4
int executeUpdate ( Cadena SQL, int [] columnIndexes) lanza excepción de SQL
Ejecuta la instrucción SQL determinada e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación. Esta matriz contiene los índices de las columnas en la tabla de destino que contienen las claves generadas automáticamente que deberían ponerse a disposición. El controlador ignorará la matriz si la instrucción SQL no es unaINSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Un lenguaje de manipulación de datos SQL (DML), como por ejemploINSERT,UPDATEoDELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL.columnIndexes- Un conjunto de índices de columna que indica las columnas que deben ser devueltos de la fila insertada- Devuelve:
- o bien (1) el número de filas de datos SQL de lenguaje de manipulación (DML) o (2) 0 para las sentencias SQL que nada volver
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, la instrucción SQL devuelve unResultSetobjeto, el segundo argumento suministrado a este método no es unaintmatriz cuyos elementos son los índices de columna válidos, el método se llama en unaPreparedStatementoCallableStatementSQLFeatureNotSupportedException- Si el controlador JDBC no es compatible con este métodoSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement- Ya que:
- 1.4
executeUpdate
int executeUpdate ( Cadena SQL,
Cadena [] columnNames)
lanza excepción de SQL
Ejecuta la instrucción SQL determinada e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación. Esta matriz contiene los nombres de las columnas en la tabla de destino que contienen las claves generadas automáticamente que deberían ponerse a disposición. El controlador ignorará la matriz si la instrucción SQL no es una INSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql- Un lenguaje de manipulación de datos SQL (DML), como por ejemplo INSERT, UPDATEo DELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL.columnNames - Una matriz de los nombres de las columnas que deben ser devueltos de la fila insertada
- Devuelve:
- o bien el número de filas de
INSERT, UPDATE, o DELETEdeclaraciones, o 0 para las sentencias SQL que devuelven nada
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, la instrucción SQL devuelve un ResultSetobjeto, el segundo argumento suministrado a este método no es una Stringmatriz cuyos elementos son válidos los nombres de columna, el método se llama en una PreparedStatementoCallableStatementSQLFeatureNotSupportedException - Si el controlador JDBC no es compatible con este métodoSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
- Ya que:
- 1.4
int executeUpdate ( Cadena SQL, Cadena [] columnNames) lanza excepción de SQL
Ejecuta la instrucción SQL determinada e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación. Esta matriz contiene los nombres de las columnas en la tabla de destino que contienen las claves generadas automáticamente que deberían ponerse a disposición. El controlador ignorará la matriz si la instrucción SQL no es unaINSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Un lenguaje de manipulación de datos SQL (DML), como por ejemploINSERT,UPDATEoDELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL.columnNames- Una matriz de los nombres de las columnas que deben ser devueltos de la fila insertada- Devuelve:
- o bien el número de filas de
INSERT,UPDATE, oDELETEdeclaraciones, o 0 para las sentencias SQL que devuelven nada - Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, la instrucción SQL devuelve unResultSetobjeto, el segundo argumento suministrado a este método no es unaStringmatriz cuyos elementos son válidos los nombres de columna, el método se llama en unaPreparedStatementoCallableStatementSQLFeatureNotSupportedException- Si el controlador JDBC no es compatible con este métodoSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement- Ya que:
- 1.4
ejecutar
boolean execute ( Cadena SQL,
int autoGeneratedKeys)
lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados, e indica al conductor que las llaves generadas automáticamente deberían estar disponibles para su recuperación. El controlador ignorará esta señal si la instrucción SQL no es una INSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).En algunas situaciones (poco frecuentes), una única sentencia SQL puede devolver varios conjuntos de resultados y / o cuentas de actualización. Normalmente se puede pasar por alto esta a menos que esté (1) la ejecución de un procedimiento almacenado que usted conoce puede devolver varios resultados o (2) que está ejecutando dinámicamente una cadena SQL desconocido.
El executemétodo se ejecuta una instrucción SQL e indica la forma del primer resultado. A continuación, debe utilizar los métodos getResultSeto getUpdateCount para recuperar el resultado, y getMoreResultspara desplazarse a cualquier resultado (s) subsiguiente.
Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql - Cualquier instrucción SQLautoGeneratedKeys- Una constante que indica si las claves generadas automáticamente deberían estar disponibles para su recuperación mediante el método getGeneratedKeys; uno de las siguientes constantes:Statement.RETURN_GENERATED_KEYSo Statement.NO_GENERATED_KEYS
- Devuelve:
truesi el primer resultado es un ResultSet objeto; falsesi se trata de una cuenta de actualización o no hay resultados
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, el segundo parámetro suministrado a este método no es Statement.RETURN_GENERATED_KEYSoStatement.NO_GENERATED_KEYS, el método se llama en una PreparedStatementoCallableStatementSQLFeatureNotSupportedException - Si el controlador JDBC no admite este método con una constante de Statement.RETURN_GENERATED_KEYSSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
- Ya que:
- 1.4
- Ver también:
getResultSet(), getUpdateCount(), getMoreResults(), getGeneratedKeys()
boolean execute ( Cadena SQL, int autoGeneratedKeys) lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados, e indica al conductor que las llaves generadas automáticamente deberían estar disponibles para su recuperación. El controlador ignorará esta señal si la instrucción SQL no es unaINSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).En algunas situaciones (poco frecuentes), una única sentencia SQL puede devolver varios conjuntos de resultados y / o cuentas de actualización. Normalmente se puede pasar por alto esta a menos que esté (1) la ejecución de un procedimiento almacenado que usted conoce puede devolver varios resultados o (2) que está ejecutando dinámicamente una cadena SQL desconocido.
Elexecutemétodo se ejecuta una instrucción SQL e indica la forma del primer resultado. A continuación, debe utilizar los métodosgetResultSetogetUpdateCountpara recuperar el resultado, ygetMoreResultspara desplazarse a cualquier resultado (s) subsiguiente.
Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Cualquier instrucción SQLautoGeneratedKeys- Una constante que indica si las claves generadas automáticamente deberían estar disponibles para su recuperación mediante el métodogetGeneratedKeys; uno de las siguientes constantes:Statement.RETURN_GENERATED_KEYSoStatement.NO_GENERATED_KEYS- Devuelve:
truesi el primer resultado es unResultSetobjeto;falsesi se trata de una cuenta de actualización o no hay resultados- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, el segundo parámetro suministrado a este método no esStatement.RETURN_GENERATED_KEYSoStatement.NO_GENERATED_KEYS, el método se llama en unaPreparedStatementoCallableStatementSQLFeatureNotSupportedException- Si el controlador JDBC no admite este método con una constante de Statement.RETURN_GENERATED_KEYSSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement- Ya que:
- 1.4
- Ver también:
getResultSet(),getUpdateCount(),getMoreResults(),getGeneratedKeys()
ejecutar
boolean execute ( Cadena SQL,
int [] columnIndexes)
lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados, e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación. Esta matriz contiene los índices de las columnas en la tabla de destino que contienen las claves generadas automáticamente que deberían ponerse a disposición. El controlador ignorará la matriz si la instrucción SQL no es unaINSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).En algunas situaciones (poco frecuentes), una única sentencia SQL puede devolver varios conjuntos de resultados y / o cuentas de actualización. Normalmente se puede pasar por alto esta a menos que esté (1) la ejecución de un procedimiento almacenado que usted conoce puede devolver varios resultados o (2) que está ejecutando dinámicamente una cadena SQL desconocido.
El executemétodo se ejecuta una instrucción SQL e indica la forma del primer resultado. A continuación, debe utilizar los métodos getResultSeto getUpdateCount para recuperar el resultado, y getMoreResultspara desplazarse a cualquier resultado (s) subsiguiente.
Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql - Cualquier instrucción SQLcolumnIndexes - Una matriz de los índices de las columnas de la fila insertada que deberían ponerse a disposición para su recuperación por una llamada al método getGeneratedKeys
- Devuelve:
truesi el primer resultado es un ResultSet objeto; falsesi se trata de una cuenta de actualización o no hay resultados
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, los elementos de la intmatriz pasada a este método no son válidos índices de columnas, el método se llama en una PreparedStatementoCallableStatementSQLFeatureNotSupportedException - Si el controlador JDBC no es compatible con este métodoSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
- Ya que:
- 1.4
- Ver también:
getResultSet(), getUpdateCount(), getMoreResults()
boolean execute ( Cadena SQL, int [] columnIndexes) lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados, e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación. Esta matriz contiene los índices de las columnas en la tabla de destino que contienen las claves generadas automáticamente que deberían ponerse a disposición. El controlador ignorará la matriz si la instrucción SQL no es unaINSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).En algunas situaciones (poco frecuentes), una única sentencia SQL puede devolver varios conjuntos de resultados y / o cuentas de actualización. Normalmente se puede pasar por alto esta a menos que esté (1) la ejecución de un procedimiento almacenado que usted conoce puede devolver varios resultados o (2) que está ejecutando dinámicamente una cadena SQL desconocido.
Elexecutemétodo se ejecuta una instrucción SQL e indica la forma del primer resultado. A continuación, debe utilizar los métodosgetResultSetogetUpdateCountpara recuperar el resultado, ygetMoreResultspara desplazarse a cualquier resultado (s) subsiguiente.
Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Cualquier instrucción SQLcolumnIndexes- Una matriz de los índices de las columnas de la fila insertada que deberían ponerse a disposición para su recuperación por una llamada al métodogetGeneratedKeys- Devuelve:
truesi el primer resultado es unResultSetobjeto;falsesi se trata de una cuenta de actualización o no hay resultados- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, los elementos de laintmatriz pasada a este método no son válidos índices de columnas, el método se llama en unaPreparedStatementoCallableStatementSQLFeatureNotSupportedException- Si el controlador JDBC no es compatible con este métodoSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement- Ya que:
- 1.4
- Ver también:
getResultSet(),getUpdateCount(),getMoreResults()
ejecutar
boolean execute ( Cadena SQL,
Cadena [] columnNames)
lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados, e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación. Esta matriz contiene los nombres de las columnas en la tabla de destino que contienen las claves generadas automáticamente que deberían ponerse a disposición. El controlador ignorará la matriz si la instrucción SQL no es unaINSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).En algunas situaciones (poco frecuentes), una única sentencia SQL puede devolver varios conjuntos de resultados y / o cuentas de actualización. Normalmente se puede pasar por alto esta a menos que esté (1) la ejecución de un procedimiento almacenado que usted conoce puede devolver varios resultados o (2) que está ejecutando dinámicamente una cadena SQL desconocido.
El executemétodo se ejecuta una instrucción SQL e indica la forma del primer resultado. A continuación, debe utilizar los métodos getResultSeto getUpdateCount para recuperar el resultado, y getMoreResultspara desplazarse a cualquier resultado (s) subsiguiente.
Nota: Este método no puede ser llamado en una PreparedStatemento CallableStatement.
- parámetros:
sql - Cualquier instrucción SQLcolumnNames - Una matriz de los nombres de las columnas de la fila insertada que deberían ponerse a disposición para su recuperación por una llamada al método getGeneratedKeys
- Devuelve:
truesi el siguiente resultado es un ResultSet objeto; falsesi se trata de una cuenta de actualización o no hay más resultados
- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerrada Statement, los elementos de la Stringmatriz pasada a este método no son válidos los nombres de columna, el método se llama en una PreparedStatementoCallableStatementSQLFeatureNotSupportedException - Si el controlador JDBC no es compatible con este métodoSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por el setQueryTimeout método que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement
- Ya que:
- 1.4
- Ver también:
getResultSet(), getUpdateCount(), getMoreResults(), getGeneratedKeys()
boolean execute ( Cadena SQL, Cadena [] columnNames) lanza excepción de SQL
Ejecuta la instrucción SQL determinada, que puede devolver varios resultados, e indica al conductor que las claves generadas automáticamente que se indican en la matriz dada deben estar disponibles para su recuperación. Esta matriz contiene los nombres de las columnas en la tabla de destino que contienen las claves generadas automáticamente que deberían ponerse a disposición. El controlador ignorará la matriz si la instrucción SQL no es unaINSERTdeclaración, o una instrucción SQL capaz de devolver claves generadas automáticamente (la lista de estas declaraciones es específica del proveedor).En algunas situaciones (poco frecuentes), una única sentencia SQL puede devolver varios conjuntos de resultados y / o cuentas de actualización. Normalmente se puede pasar por alto esta a menos que esté (1) la ejecución de un procedimiento almacenado que usted conoce puede devolver varios resultados o (2) que está ejecutando dinámicamente una cadena SQL desconocido.
Elexecutemétodo se ejecuta una instrucción SQL e indica la forma del primer resultado. A continuación, debe utilizar los métodosgetResultSetogetUpdateCountpara recuperar el resultado, ygetMoreResultspara desplazarse a cualquier resultado (s) subsiguiente.
Nota: Este método no puede ser llamado en unaPreparedStatementoCallableStatement.- parámetros:
sql- Cualquier instrucción SQLcolumnNames- Una matriz de los nombres de las columnas de la fila insertada que deberían ponerse a disposición para su recuperación por una llamada al métodogetGeneratedKeys- Devuelve:
truesi el siguiente resultado es unResultSetobjeto;falsesi se trata de una cuenta de actualización o no hay más resultados- Emite:
SQLException- Si se produce un error de acceso a la base de datos, este método se llama en una cerradaStatement, los elementos de laStringmatriz pasada a este método no son válidos los nombres de columna, el método se llama en unaPreparedStatementoCallableStatementSQLFeatureNotSupportedException- Si el controlador JDBC no es compatible con este métodoSQLTimeoutException- Cuando el conductor ha determinado que el valor de tiempo de espera especificado por elsetQueryTimeoutmétodo que se ha superado y al menos ha intentado cancelar el actualmente en ejecuciónStatement- Ya que:
- 1.4
- Ver también:
getResultSet(),getUpdateCount(),getMoreResults(),getGeneratedKeys()
getResultSetHoldability
int getResultSetHoldability ()
lanza excepción de SQL
Recupera el conjunto de resultados capacidad de retención de ResultSetobjetos generados por este Statementobjeto.
- Devuelve:
- ya sea
ResultSet.HOLD_CURSORS_OVER_COMMITo ResultSet.CLOSE_CURSORS_AT_COMMIT
- Emite:
SQLException - Si se produce un error de acceso a base de datos o este método se llama en una cerrada Statement
- Ya que:
- 1.4
int getResultSetHoldability () lanza excepción de SQLRecupera el conjunto de resultados capacidad de retención deResultSetobjetos generados por esteStatementobjeto.- Devuelve:
- ya sea
ResultSet.HOLD_CURSORS_OVER_COMMIToResultSet.CLOSE_CURSORS_AT_COMMIT - Emite:
SQLException- Si se produce un error de acceso a base de datos o este método se llama en una cerradaStatement- Ya que:
- 1.4
está cerrado
booleano isClosed ()
lanza excepción de SQL
Recupera si este Statementobjeto ha sido cerrada. Una Statementestá cerrado si el cierre método ha sido llamado en él, o si se cierra automáticamente.
- Devuelve:
- true si el
Statementobjeto está cerrado; falso si aún está abierto
- Emite:
SQLException - Si se produce un error de acceso a la base de datos
- Ya que:
- 1.6
booleano isClosed () lanza excepción de SQLRecupera si esteStatementobjeto ha sido cerrada. UnaStatementestá cerrado si el cierre método ha sido llamado en él, o si se cierra automáticamente.- Devuelve:
- true si el
Statementobjeto está cerrado; falso si aún está abierto - Emite:
SQLException- Si se produce un error de acceso a la base de datos- Ya que:
- 1.6
setPoolable
setPoolable vacío (agrupables booleano)
lanza excepción de SQL
Solicita que un Statementser agrupados o no agrupados. El valor especificado es una pista para la puesta en práctica de la piscina declaración que indique si el applicaiton quiere que la declaración para su agrupación. Corresponde al gerente de la agrupación indicación de si se utiliza la indirecta.El valor agrupables de una declaración es aplicable tanto a los cachés de los estados internos implementados por las memorias caché del controlador y de la cuenta externa implementadas por los servidores de aplicaciones y otras aplicaciones.
Por defecto, una Statementno es agrupables cuando se creó, y una PreparedStatementy CallableStatement son agrupables cuando se crean.
- parámetros:
poolable - Solicita que la declaración se agruparon si es cierto y que la declaración no debe ponerse en común si es falso
- Emite:
SQLException - Si este método se llama en una cerrada Statement
- Ya que:
- 1.6
setPoolable vacío (agrupables booleano) lanza excepción de SQLSolicita que unStatementser agrupados o no agrupados. El valor especificado es una pista para la puesta en práctica de la piscina declaración que indique si el applicaiton quiere que la declaración para su agrupación. Corresponde al gerente de la agrupación indicación de si se utiliza la indirecta.El valor agrupables de una declaración es aplicable tanto a los cachés de los estados internos implementados por las memorias caché del controlador y de la cuenta externa implementadas por los servidores de aplicaciones y otras aplicaciones.
Por defecto, unaStatementno es agrupables cuando se creó, y unaPreparedStatementyCallableStatementson agrupables cuando se crean.- parámetros:
poolable- Solicita que la declaración se agruparon si es cierto y que la declaración no debe ponerse en común si es falso- Emite:
SQLException- Si este método se llama en una cerradaStatement- Ya que:
- 1.6
isPoolable
booleano isPoolable ()
lanza excepción de SQL
Devuelve un valor que indica si Statement es o no agrupables.
- Devuelve:
truesi el Statement es agrupables; falsede lo contrario
- Emite:
SQLException - Si este método se llama en una cerrada Statement
- Ya que:
- 1.6
- Ver también:
setPoolable(boolean)
booleano isPoolable () lanza excepción de SQLDevuelve un valor que indica siStatementes o no agrupables.- Devuelve:
truesi elStatementes agrupables;falsede lo contrario- Emite:
SQLException- Si este método se llama en una cerradaStatement- Ya que:
- 1.6
- Ver también:
setPoolable(boolean)
closeOnCompletion
closeOnCompletion void ()
lanza excepción de SQL
Especifica que esta Statementse cerrará cuando todos sus conjuntos de resultados dependientes están cerrados. Si la ejecución de la Statement no produce ningún conjunto de resultados, este método no tiene ningún efecto.Nota: Varias llamadas a closeOnCompletionno alternar el efecto sobre esta Statement. Sin embargo, una llamada a closeOnCompletionhace efecto tanto la posterior ejecución de los estados, y los estados que actualmente tienen, conjuntos de resultados abiertos, dependientes.
- Emite:
SQLException - Si este método se llama en una cerrada Statement
- Ya que:
- 1.7
closeOnCompletion void () lanza excepción de SQLEspecifica que estaStatementse cerrará cuando todos sus conjuntos de resultados dependientes están cerrados. Si la ejecución de laStatementno produce ningún conjunto de resultados, este método no tiene ningún efecto.Nota: Varias llamadas acloseOnCompletionno alternar el efecto sobre estaStatement. Sin embargo, una llamada acloseOnCompletionhace efecto tanto la posterior ejecución de los estados, y los estados que actualmente tienen, conjuntos de resultados abiertos, dependientes.- Emite:
SQLException- Si este método se llama en una cerradaStatement- Ya que:
- 1.7
isCloseOnCompletion
isCloseOnCompletion booleano ()lanza excepción de SQL
Devuelve un valor que indica si este Statementse cerrará cuando todos sus conjuntos de resultados dependientes están cerrados.
- Devuelve:
truesi el Statementse cerrará cuando todos sus conjuntos de resultados dependientes están cerrados; falsede lo contrario
- Emite:
SQLException - Si este método se llama en una cerrada Statement
isCloseOnCompletion booleano ()lanza excepción de SQL
Devuelve un valor que indica si esteStatementse cerrará cuando todos sus conjuntos de resultados dependientes están cerrados.- Devuelve:
truesi elStatementse cerrará cuando todos sus conjuntos de resultados dependientes están cerrados;falsede lo contrario- Emite:
SQLException- Si este método se llama en una cerradaStatement
Resumen
Creada por el método createStatement(). Un objeto Statement se usa para enviar sentencias SQL simples.
1. Para ejecutar una consulta (query), se llama al método:
executeQuery(sentenciaSQL) sobre un Statement.
2. Para ejecutar una modificación, se llama al método:
executeUpdate(sentenciaSQL) sobre un Statement.
La interfaz Statement nos suministra tres métodos diferentes para ejecutar sentencias SQL, executeQuery, executeUpdate y execute. El método a usar está determinado por el producto de la sentencia SQL
2. El método executeQuery está diseñado para sentencias que producen como resultado un único ResultSet tal como las sentencias SELECT.
3. El método executeUpdate se usa para ejecutar sentencias INSERT, UPDATE ó DELETE así como sentencias SQL DDL (Data Definition Language) como CREATE TABLE o DROP TABLE.
El efecto de una sentencia INSERT, UPDATE o DELETE es una modificación de una o más columnas en cero o más filas de una tabla. El valor devuelto de executeUpdate es un entero que indica el número de filas que han sido afectadas (referidos como update count).
Para sentencias tales como CREATE TABLE o DROP TABLE, que no operan sobre filas, el valor devuelto por executeUpdate es siempre cero.
4. El método execute se usa solamente para ejecutar sentencias que devuelven más de un Result Set, más que un update count o una combinación de ambos.
Ahora veamos un ejemplo con los puntos anteriores:
//Creamos un objeto del tipo Connection para realizar la conexión
Connection con = DriverManager.getConnection(url, "usuario", "password");
//Creamos un objeto del tipo Statement para poder enviar una sentencia SQL simple
Statement statement = con.createStatement();
//Creamos un objeto "rs" del tipo ResultSet para obtener los resultados, el cual enviará la sentencia SQL "SELECT * from PRODUCTOS" la cual le dice a la base de datos que estamos buscando todo el contenido (*) de la tabla PRODUCTOS.
ResultSet rs = statement.executeQuery ("SELECT * from PRODUCTOS");
Cerrar objetos Statement
Los objetos Statement se cerrarán automáticamente por el colector de basura de Java (garbage collector). No obstante se recomienda como una buena práctica de programación que se cierren explícitamente cuando ya no sean necesarios.
Sumary
Created by the createStatement () method. A Statement object is used to send simple SQL statements.
1. To run a query (query), you call the method:
executeQuery (sentenciaSQL) on a Statement.
2. To execute a modification, you call the method:
executeUpdate (sentenciaSQL) on a Statement.
The Statement interface provides us three different methods to execute SQL statements, executeQuery, executeUpdate and execute judgments. The method used is determined by the product of the SQL statement
2. The method executeQuery is designed for statements that produce results in a single ResultSet as SELECT statements.
3. The method executeUpdate is used to execute INSERT, UPDATE, or DELETE SQL statements and DDL (Data Definition Language) as CREATE TABLE or DROP TABLE.
The effect of an INSERT, UPDATE, or DELETE statement is a modification of one or more columns in zero or more rows from a table. The return value of executeUpdate is an integer indicating the number of rows that have been affected (referred to as update count).
For statements such as CREATE TABLE or DROP TABLE, which do not operate on rows returned by executeUpdate value it is always zero.
4. The execute method is used only to execute statements that return more than one result set, rather than an update count or a combination of both.
Now an example with the above points:
// Create an object of type Connection to connect
Connection con = DriverManager.getConnection (url, "user", "password");
// Create an object of type Statement to send a simple SQL statement
Statement statement = con.createStatement ();
// Create a "rs" of type ResultSet object to obtain the results, which will send the SQL "SELECT * FROM products" statement which tells the database we are looking for all content (*) from table PRODUCTS .
ResultSet rs = Statement.executeQuery ( "SELECT * FROM products");
Close objects Statement
Statement objects will be closed automatically by the Java garbage collector (garbage collector). However it is recommended as a good programming practice to explicitly close when they are no longer needed.
Recomendaciones
Ø Un objeto Statement se debe crear, mediante el método de Connection createStatement
Ø Un objeto Statement solo, es usado para ejecutar una sentencia SQL simple sin parámetros.
Ø Un objeto PreparedStatement se usa para ejecutar sentencias SQL precompiladas con o sin parámetros IN.
Ø Un objeto CallableStatement se usa para ejecutar un procedimiento de base de datos almacenado.
Conclusiones
Objeto: Connection:- Establece la conexión con la base de datos y maneja las transacciones.
Objeto: Statement:- Se utiliza para ejecutar sentencias sin parámetros.
Objeto: PreparedStatement:- Se utiliza para ejecutar sentencias con parámetros.
Objeto: CallableStatement:- Se utiliza para ejecutar procedimientos almacenados.
Objeto ResultSet:- Se utiliza para procesar resultados.
Apreciación del Equipo
La sentencia SQL contenida en un objeto PreparedStatement pueden tener uno o más parámetros IN. Un parámetro IN es aquel cuyo valor no se especifica en la sentencia SQL cuando se crea. En vez de ello la sentencia tiene un interrogante ('?') como un 'ancla' para cada parámetro IN.
Glosario de Terminos
state
(estado)
(1) (n.) Circunstancias o condiciones de una entidad en un momento determinado.
(2) (n.)Mecanismo de almacenamiento de datos distribuidos que puede utilizar para guardar el estado de
una aplicación mediante la utilización de la interfaz de Java Enterprise System Application Server IState2.
Consulte también conversational state (estado interactivo), persistent state (estado persistente).
stateful session
bean
(n.) Session Bean que representa una sesión con un cliente específico y que mantiene su estado
conversacional automáticamente en los métodos llamados por varios clientes.
stateless session
bean
(n.) Session Bean que representa un servicio sin estado. Un Stateless Session Bean es totalmente transitorio
y encapsula una parte temporal de la lógica de negocios que un cliente concreto necesita durante un
tiempo limitado. Todas las instancias de un bean de sesión sin estado son idénticas.
static group
(grupo estático)
(n.) Grupo de correo definido de manera estática mediante la enumeración de cada miembro del grupo.
Consulte también dynamic group (grupo dinámico).
static web content
(contenido web estático)
(n.) Archivos HTML estáticos, imágenes, archivos de Java Archive (JAR) de applets, o cualquier otro
elemento que pueda ser proporcionado directamente por el servidor web sin utilizar el contenedor web de
Java. En Java Enterprise System Portal Server, los archivos web están instalados en el servidor web (el
mismo lugar donde se encuentran las aplicaciones web dinámicas).
status event
(evento de estado)
(n.) Estado de un usuario, incluido si está conectado o no.
sticky cookie
(cookie adherida)
(n.) cookie que se envía al cliente para forzarlo a que se conecte siempre al mismo proceso de servidor.
Consulte también session cookie (cookie de sesión).
sticky load
balancing
(equilibrio de carga adherida)
(n.)Método de load balancing (equilibrado de carga) mediante el cual se equilibra la carga de una solicitud
inicial de cliente, pero las solicitudes siguientes se direccionan al mismo proceso de la solicitud inicial.
stop word
(palabra común)
(n.) Palabra que las funciones de búsqueda identifican como una palabra que no deben buscar; por
ejemplo, palabras como “el,” “un,” “una,” o “y.”” También se conoce como "palabra vacía".
stopword
(palabra común)
S 139
stored procedure
(procedimiento
almacenado)
(n.) Bloque de instrucciones escritas en SQL y almacenadas en una base de datos. Puede utilizar
procedimientos almacenados para realizar cualquier tipo de operación en la base de datos, como
modificar, insertar o eliminar registros. La utilización de procedimientos almacenados mejora el
rendimiento de la base de datos, ya que reduce la cantidad de información que se envía por una red.
secuenciación (n.) Técnica que se utiliza para administrar el modo de comunicar datos a través de HTTP. Cuando se
secuencian los resultados, la primera parte de los datos está disponible para su uso inmediato. Cuando no
se secuencian los resultados, es necesario recibir el resultado completo antes de poder utilizar una parte. La secuenciación ofrece un modo para permitir que grandes cantidades de datos sean presentadas de manera
más eficaz, mejorando el rendimiento de la aplicación.
strftime function
(función strftime)
(n.) Función que convierte una fecha y una hora en una cadena. El servidor utiliza esta función cuando
agrega ubicadores. La función strftimecuenta con un idioma de formato especial para la fecha y hora que
el servidor puede utilizar en un ubicador para ilustrar la fecha de última modificación de un archivo.
subagente Consulte subagente SNMP.
subdominio (n.) La parte contigua a la última parte de una gateway (puerta de enlace) que identifica la división o
departamento de una empresa u organización que posee el nombre de dominio (por ejemplo
support.example.com y sales.example.com).No siempre se especifica un subdominio.
subred (n.) Parte de una IP address (dirección IP) que identifica un conjunto de Id. de host.
subordinate
reference
(referencia subordinada)
(n.) Contexto de nombre que es un secundario del contexto de nombre que guarda el servidor de
directorios. Consulte también knowledge information (información de conocimiento).
suborganización (n.) En Java Enterprise System Directory Server AccessManagement Edition, objeto creado en una
organización y que utiliza una empresa para obtener un control más granular de sus departamentos y
recursos. Por ejemplo, al configurar Java Enterprise System Portal Server, puede crear una
suborganización denominada mycompany bajo el objeto de nivel superior isp.
subschema entry
(entrada de subesquema)
(n.) Entrada que contiene todas las definiciones de los esquemas (definiciones de clases de objetos,
atributos, reglas de coincidencia, etc.) que utilizan las entradas en parte del árbol de directorios.
substring index
(índice de subcadenas)
(n.) Filtro de búsqueda que permite realizar una búsqueda eficaz en las subcadenas de las entradas. Los
índices de subcadenas tienen un límite de tres caracteres como máximo por cada clave de índice.
subsufijo (n.) Rama que se encuentra por debajo de un sufijo raíz.
sufijo (n.)Nombre de la entrada del árbol de directorios debajo de la cual se almacenan los datos. Se pueden
tener varios sufijos dentro del mismo directorio. Cada base de datos tiene sólo un sufijo.

