SlideShare una empresa de Scribd logo
1 de 12
PreparedStatement
DEFINICIÓN
Un objeto PreparedStatement se
usa para sentencias SQL que toman
uno o más parámetros como
argumentos de entrada (parámetros
IN). Un objeto PreparedStatement
es potencialmente más eficiente que
un objeto Statement porque este ha
sido precompilado y almacenado
para su uso futuro.
MÉTODO
EXECUTEUPDATE ()
Ejecuta la instrucción SQL determinada,
que puede ser una instrucción INSERT,
UPDATE o DELETE; o una instrucción
SQL que no devuelve nada, como una
instrucción DDL de SQL. Desde el
controlador JDBC 3.0 de MicrosoftSQL
Server, executeUpdate devolverán el
número correcto de filas actualizado en
una operación MERGE.
USO DE
CALLABLESTATEMENT
Un objeto CallableStatement es una
interface JDBC utilizado para llamar
o ejecutar procedimientos
almacenados de la base de datos
desde una aplicación Java.
Antes de usar CallableStatement
debemos saber si nuestro Gestor
de Base de Datos soporta y usa
procedimientos almacenados,
para este propósito el método
supportsStoredProcedures
devolverá true si la DBMS soporta
llamadas a procedimientos
almacenados y el método
getProcedures devolverá una
descripción de los procedimientos
almacenados disponibles.
Partimos de la situación inicial de un procedimiento
almacenado que retorna el valor de un inOutParam
incrementado en 1 y la cadena de caracteres pasada via
inputParam como Resultset:
Para usar el procedimiento almacenado seguimos los
siguientes pasos:
Preparamos el callable statement usando Connection.prepareCall().
Debemos tener siempre en cuenta que debemos de usar la sintaxis
de escape de JDBC siendo obligatorios los paréntesis que rodean los
parámetros.
1
2
Registramos los parámetros de salida (si existen).
Para recibir los valores de los parámetros de salida (parámetros
especificados como OUT o INOUT cuando se crea el procedimiento),
JDBC requiere que estén especificados antes de la ejecución del
statement usando los distintos modos de registrar un parámetro con
el método registerOutputParameter():
3
Especificamos los parámetros de entrada (si existen).
Los parámetros de entrada y de entrada/salida se especifican como
en los objetos PreparedStatement. Sin embargo, CallableStatement
también soporta especificar los parámetros por nombre:
4
Ejecutamos CallableStatement, y
recibimos cualquier conjunto de
resultados o parámetros de salida.
Mientras CallableStatement soporta
llamar a cualquiera de los métodos de
ejecución de Statement
(executeUpdate(), executeQuery() o
execute() ), el método más flexible es
execute(), ya que no necesita saber de
antemano si el procedimiento
almacenado retorna un conjunto de
resultados:
EJEMPLO public class InsertarDatos {
public static void main(String[] args) {
Connection con = null;
PreparedStatement stmt = null;
String sDriver = "com.mysql.jdbc.Driver";
String sURL = "jdbc:mysql://localhost:3306/lineadecodigo";
try{
Class.forName(sDriver).newInstance();
con = DriverManager.getConnection(sURL,"root","");
String sISBN = "84-9815-212-7";
String sTitulo = "Yo, Claudio";
String sDescripcion="Supuesta autobiografía de Claudio";
String sCategoria = "Novela Histórica";
int idAutor = 3;
e.printStackTrace();
} finally {
if (con != null) {
try{
stmt.close();
con.close();
} catch(Exception e){
e.printStackTrace();
}
}
}
}
}
stmt = con.prepareStatement("INSERT INTO
libros VALUES (?,?,?,?,?)");
stmt.setString(1,sISBN);
stmt.setInt(2,idAutor);
stmt.setString(3,sTitulo);
stmt.setString(4,sDescripcion);
stmt.setString(5,sCategoria);
int retorno = stmt.executeUpdate();
if (retorno>0)
System.out.println("Insertado
correctamente");
} catch (SQLException sqle){
System.out.println("SQLState: "
+ sqle.getSQLState());
System.out.println("SQLErrorCode: "
+ sqle.getErrorCode());
sqle.printStackTrace();
} catch (Exception e){
GRACIAS

Más contenido relacionado

La actualidad más candente (20)

Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Statement
StatementStatement
Statement
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN I
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videosPROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Presentación result set
Presentación result setPresentación result set
Presentación result set
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server
 
Statement
StatementStatement
Statement
 
Objeto Sql Command
Objeto Sql CommandObjeto Sql Command
Objeto Sql Command
 
preparedstatement
preparedstatementpreparedstatement
preparedstatement
 
Preparedstatement(grupal)
Preparedstatement(grupal)Preparedstatement(grupal)
Preparedstatement(grupal)
 
Postgres trigger
Postgres triggerPostgres trigger
Postgres trigger
 
Sql procedimientos-almacenados
Sql procedimientos-almacenadosSql procedimientos-almacenados
Sql procedimientos-almacenados
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
9. Uso De Procedimientos Almacenados
9.  Uso De Procedimientos Almacenados9.  Uso De Procedimientos Almacenados
9. Uso De Procedimientos Almacenados
 
Diapositivas objeto statement
Diapositivas objeto statementDiapositivas objeto statement
Diapositivas objeto statement
 

Destacado

Asset Manager/ Asset Specialist Roles
Asset Manager/ Asset Specialist RolesAsset Manager/ Asset Specialist Roles
Asset Manager/ Asset Specialist RolesJason (Jake) Davis
 
Hydroflux-Corporate-brochure
Hydroflux-Corporate-brochureHydroflux-Corporate-brochure
Hydroflux-Corporate-brochurePaul Cobbin
 
Foto prom 2010 word grupo
Foto prom 2010 word grupoFoto prom 2010 word grupo
Foto prom 2010 word grupoSCMU AQP
 
Sin título 1
Sin título 1Sin título 1
Sin título 1mpadfor
 
Jadwal les tk b
Jadwal les tk bJadwal les tk b
Jadwal les tk bRiki Danu
 
Linkografia de la traducción
Linkografia de la traducciónLinkografia de la traducción
Linkografia de la traducciónCinthia Rivas
 
Nieuwjaarwens Asselé Consultancy 2011 Pp
Nieuwjaarwens Asselé Consultancy 2011 PpNieuwjaarwens Asselé Consultancy 2011 Pp
Nieuwjaarwens Asselé Consultancy 2011 Ppassele
 
Zarins Design Logo
Zarins Design LogoZarins Design Logo
Zarins Design Logomelaniez
 

Destacado (16)

Stock Market
Stock MarketStock Market
Stock Market
 
Asset Manager/ Asset Specialist Roles
Asset Manager/ Asset Specialist RolesAsset Manager/ Asset Specialist Roles
Asset Manager/ Asset Specialist Roles
 
Dr Jayant Resume
Dr Jayant ResumeDr Jayant Resume
Dr Jayant Resume
 
Hydroflux-Corporate-brochure
Hydroflux-Corporate-brochureHydroflux-Corporate-brochure
Hydroflux-Corporate-brochure
 
Foto prom 2010 word grupo
Foto prom 2010 word grupoFoto prom 2010 word grupo
Foto prom 2010 word grupo
 
Sin título 1
Sin título 1Sin título 1
Sin título 1
 
Usos de la web
Usos de la webUsos de la web
Usos de la web
 
Jadwal les tk b
Jadwal les tk bJadwal les tk b
Jadwal les tk b
 
Linkografia de la traducción
Linkografia de la traducciónLinkografia de la traducción
Linkografia de la traducción
 
Sílabo
SílaboSílabo
Sílabo
 
Medio ambiente
Medio ambienteMedio ambiente
Medio ambiente
 
Juízo Final
Juízo FinalJuízo Final
Juízo Final
 
Nieuwjaarwens Asselé Consultancy 2011 Pp
Nieuwjaarwens Asselé Consultancy 2011 PpNieuwjaarwens Asselé Consultancy 2011 Pp
Nieuwjaarwens Asselé Consultancy 2011 Pp
 
Zarins Design Logo
Zarins Design LogoZarins Design Logo
Zarins Design Logo
 
Guitar keys
Guitar keysGuitar keys
Guitar keys
 
Modal Ferroviário Russo
Modal Ferroviário RussoModal Ferroviário Russo
Modal Ferroviário Russo
 

Similar a Preparedstatemet (20)

Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Preparedstatemet
Preparedstatemet Preparedstatemet
Preparedstatemet
 
ee
eeee
ee
 
Statement
Statement Statement
Statement
 
Statement
StatementStatement
Statement
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Prepared Statement
Prepared StatementPrepared Statement
Prepared Statement
 
preparedStatement
preparedStatementpreparedStatement
preparedStatement
 
PREPAREDSTATEMENT
PREPAREDSTATEMENTPREPAREDSTATEMENT
PREPAREDSTATEMENT
 
Statement
StatementStatement
Statement
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Statement
StatementStatement
Statement
 
PreparedStatament
PreparedStatamentPreparedStatament
PreparedStatament
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Objeto prepared statement
Objeto prepared statementObjeto prepared statement
Objeto prepared statement
 
LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.
 
Laboratorio de Programacion
Laboratorio de ProgramacionLaboratorio de Programacion
Laboratorio de Programacion
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
Bases de Datos con JDBC para MySQL
Bases de Datos con JDBC para MySQLBases de Datos con JDBC para MySQL
Bases de Datos con JDBC para MySQL
 

Más de Jesus Alberto Velasquez Abanto (18)

Bisness inteligent
Bisness inteligentBisness inteligent
Bisness inteligent
 
Bisness inteligent
Bisness inteligentBisness inteligent
Bisness inteligent
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Trigger
TriggerTrigger
Trigger
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Vistas
VistasVistas
Vistas
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Ejecutables
EjecutablesEjecutables
Ejecutables
 
Reportes
ReportesReportes
Reportes
 
Diapositivas java
Diapositivas javaDiapositivas java
Diapositivas java
 
Objeto slqcommand
Objeto slqcommandObjeto slqcommand
Objeto slqcommand
 
APLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NETAPLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NET
 
Reportes
ReportesReportes
Reportes
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datos
 
Resultset
ResultsetResultset
Resultset
 
Statement
StatementStatement
Statement
 
Connetion
ConnetionConnetion
Connetion
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 

Último

la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 

Preparedstatemet

  • 2. DEFINICIÓN Un objeto PreparedStatement se usa para sentencias SQL que toman uno o más parámetros como argumentos de entrada (parámetros IN). Un objeto PreparedStatement es potencialmente más eficiente que un objeto Statement porque este ha sido precompilado y almacenado para su uso futuro.
  • 3. MÉTODO EXECUTEUPDATE () Ejecuta la instrucción SQL determinada, que puede ser una instrucción INSERT, UPDATE o DELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL de SQL. Desde el controlador JDBC 3.0 de MicrosoftSQL Server, executeUpdate devolverán el número correcto de filas actualizado en una operación MERGE.
  • 4. USO DE CALLABLESTATEMENT Un objeto CallableStatement es una interface JDBC utilizado para llamar o ejecutar procedimientos almacenados de la base de datos desde una aplicación Java. Antes de usar CallableStatement debemos saber si nuestro Gestor de Base de Datos soporta y usa procedimientos almacenados, para este propósito el método supportsStoredProcedures devolverá true si la DBMS soporta llamadas a procedimientos almacenados y el método getProcedures devolverá una descripción de los procedimientos almacenados disponibles.
  • 5. Partimos de la situación inicial de un procedimiento almacenado que retorna el valor de un inOutParam incrementado en 1 y la cadena de caracteres pasada via inputParam como Resultset:
  • 6. Para usar el procedimiento almacenado seguimos los siguientes pasos: Preparamos el callable statement usando Connection.prepareCall(). Debemos tener siempre en cuenta que debemos de usar la sintaxis de escape de JDBC siendo obligatorios los paréntesis que rodean los parámetros. 1
  • 7. 2 Registramos los parámetros de salida (si existen). Para recibir los valores de los parámetros de salida (parámetros especificados como OUT o INOUT cuando se crea el procedimiento), JDBC requiere que estén especificados antes de la ejecución del statement usando los distintos modos de registrar un parámetro con el método registerOutputParameter():
  • 8. 3 Especificamos los parámetros de entrada (si existen). Los parámetros de entrada y de entrada/salida se especifican como en los objetos PreparedStatement. Sin embargo, CallableStatement también soporta especificar los parámetros por nombre:
  • 9. 4 Ejecutamos CallableStatement, y recibimos cualquier conjunto de resultados o parámetros de salida. Mientras CallableStatement soporta llamar a cualquiera de los métodos de ejecución de Statement (executeUpdate(), executeQuery() o execute() ), el método más flexible es execute(), ya que no necesita saber de antemano si el procedimiento almacenado retorna un conjunto de resultados:
  • 10. EJEMPLO public class InsertarDatos { public static void main(String[] args) { Connection con = null; PreparedStatement stmt = null; String sDriver = "com.mysql.jdbc.Driver"; String sURL = "jdbc:mysql://localhost:3306/lineadecodigo"; try{ Class.forName(sDriver).newInstance(); con = DriverManager.getConnection(sURL,"root",""); String sISBN = "84-9815-212-7"; String sTitulo = "Yo, Claudio"; String sDescripcion="Supuesta autobiografía de Claudio"; String sCategoria = "Novela Histórica"; int idAutor = 3;
  • 11. e.printStackTrace(); } finally { if (con != null) { try{ stmt.close(); con.close(); } catch(Exception e){ e.printStackTrace(); } } } } } stmt = con.prepareStatement("INSERT INTO libros VALUES (?,?,?,?,?)"); stmt.setString(1,sISBN); stmt.setInt(2,idAutor); stmt.setString(3,sTitulo); stmt.setString(4,sDescripcion); stmt.setString(5,sCategoria); int retorno = stmt.executeUpdate(); if (retorno>0) System.out.println("Insertado correctamente"); } catch (SQLException sqle){ System.out.println("SQLState: " + sqle.getSQLState()); System.out.println("SQLErrorCode: " + sqle.getErrorCode()); sqle.printStackTrace(); } catch (Exception e){