SlideShare una empresa de Scribd logo
1 de 13
PREPAREDSTATEMENT
FIORELLA AGUILAR ISUIZA
RAUL AARON DELGADO ESPARRAGA
LA CLASE PREPAREDSTATEMENT
• Vista Preliminar
La interfase PreparedStatement hereda de Statement y difiere de esta en dos
maneras.
Las instancias de PreparedStatement contienen una sentencia SQL que ya ha
sido compilada. Esto es lo que hace que se le llame ‘preparada’. 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 ‘encaje’ para cada parámetro IN. Debe
suministrarse un valor para cada interrogante mediante el método apropiado
setXXX antes de ejecutar la sentencia.
Pasar parámetros IN
Antes de que un objeto PreparedStatement sea ejecutado debe
fijarse el valor de cada encaje ‘?’. Se hace esto mediante la llamada a
un método setXXX, donde XXX es el tipo apropiado para el
parámetro. Por ejemplo, si el parámetro tiene un tipo Java long, el
método a usar será setLong. El primero de los argumentos del
método setXXX es la posición ordinal del parámetro a fijar, y el
segundo argumento es el valor que queremos que adquiera el
parámetro.
Envío de JDBC NULL como un parámetro IN
El método setNull permite a los programadores enviar valores JDBC
NULL a la base de datos como un parámetro IN. Notese de cualquier
modo, que debe especificarse el tipo del parámetro. También se
enviará un JDBC NULL a la base de datos cuando un valor Java null se
pasa mediante un método setXXX (si los acepta los objetos Java como
argumentos). El método setObject, en cualquier caso, puede tomar
un valor null únicamente si se ha especificado el tipo JDBC.
Ejemplo de PreparedStatement de consulta
Por ejemplo supongamos que hay un campo de texto en el que el
usuario puede introducir su dirección de correo electrónico y con este
dato se desea buscar al usuario:
Connection con = DriverManager.getConnection(url);
String consulta = "SELECT usuario FROM registro WHERE email like
?";
PreparedStatement pstmt = con.prepareStatement(consulta);
pstmt.setString(1,campoTexto.getText());
ResultSet resultado = ps.executeQuery();
Ejemplo de PreparedStatement de modificación
En el siguiente ejemplo se va a insertar un nuevo registro en una tabla:
Connection con = DriverManager.getConnection(url);
String insercion = "INSERT INTO registro(usuario , email , fechaNac) values ( ? , ? , ?
)");
PreparedStatement pstmt = con.prepareStatement(consulta);
String user = . . . ;
String email = . . . ;
Date edad = . . . ; //O int edad;
pstmt.setString(1 , user);
pstmt.setString(2 , email);
pstmt.setDate(3 , edad); // setInt(3, edad);
ps.executeUpdate();
MÉTODO EXECUTEUPDATE
Usando CallableStatements
Introducción
JDBC (Java Database Connectivity) es un API que nos proporciona una serie
de interfaces para poder acceder a cualquier base de datos que la
implemente. El API nos abstrae de los detalles específicos de cada base de
datos permitiendonos conectar practicamente de igual manera
independientemente de la bases de datos.
De entre todas las interfaces que nos proporciona el API nos centraremos en
la interfaz CallableStatements que nos permitirá ejecutar procedimientos
almacenados. Esto puede venir bien sobre todo cuando estamos trabajando
en proyectos en los que por distintos motivos gran parte del modelo de
negocio se encuentra en base de datos y se quiere por ejemplo explotar ese
negocio desde una nueva aplicación desarrollada en otra tecnología, Java
concretamente.
Entorno
El tutorial está escrito usando el siguiente entorno:
Hardware : Portátil Mac Book Pro 15″ (2,6 Ghz Intel Core i7, 4 GB DDR3).
Sistema Operativo:Mac OS X Snow Leopard 10.6.7
Eclipse Helios
MySQL 5.1.35
Java 1.6
Interfaz CallableStatements
Lo primero de todo cometaros que podemos obtener más información
acerca de la síntaxis de los procedimientos almacenados de MySQL desde el
siquiente enlace Procedimientos almacenados y funciones.
A partr de MySQL 5.0 cuando se usa con Conector/J 3.1.1 o posterior la
interfaz CallableStatements esta completamente implementada excepto el
metodo getParameterMetaData().
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
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 esten especificados antes de la ejecución del statement usando
los distinitos modos de registrar un parámetro con el método
registerOutputParameter():
Especificamos los parámetros de entrada (si existen)
Los parámtros 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
preparedStatement

Más contenido relacionado

La actualidad más candente (20)

Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Objeto prepared statement
Objeto prepared statementObjeto prepared statement
Objeto prepared statement
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Preparedstatement
PreparedstatementPreparedstatement
Preparedstatement
 
Ayuda la clase statement
Ayuda la clase statementAyuda la clase statement
Ayuda la clase statement
 
Statement
StatementStatement
Statement
 
Preparedstatemet
PreparedstatemetPreparedstatemet
Preparedstatemet
 
Dispositivas de la clase statement
Dispositivas de la clase statementDispositivas de la clase statement
Dispositivas de la clase statement
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
PREPAREDSTATEMENT
PREPAREDSTATEMENTPREPAREDSTATEMENT
PREPAREDSTATEMENT
 
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
 
Objeto SqlDataReader
Objeto SqlDataReaderObjeto SqlDataReader
Objeto SqlDataReader
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Oledbconnection (clase)
Oledbconnection (clase)Oledbconnection (clase)
Oledbconnection (clase)
 
Procedimientos_almacenados
Procedimientos_almacenadosProcedimientos_almacenados
Procedimientos_almacenados
 
Resulset en java
Resulset en javaResulset en java
Resulset en java
 
Preparedstatement(grupal)
Preparedstatement(grupal)Preparedstatement(grupal)
Preparedstatement(grupal)
 
Laboratorio de Programacion
Laboratorio de ProgramacionLaboratorio de Programacion
Laboratorio de Programacion
 

Destacado

Disability into Ability - 5 big challenges
Disability into Ability - 5 big challengesDisability into Ability - 5 big challenges
Disability into Ability - 5 big challengesATUL RAJA
 
Guerra fría
Guerra fríaGuerra fría
Guerra fríamruan2
 
Рекомендации НОСТРОЙ для членов СРО по 372-ФЗ
Рекомендации НОСТРОЙ для членов СРО по 372-ФЗРекомендации НОСТРОЙ для членов СРО по 372-ФЗ
Рекомендации НОСТРОЙ для членов СРО по 372-ФЗgildsskfo
 
Promax POGO PIN简介
Promax POGO PIN简介Promax POGO PIN简介
Promax POGO PIN简介Gavin Tang
 
Ad copy; TWIZZLERS creative brief
Ad copy; TWIZZLERS creative briefAd copy; TWIZZLERS creative brief
Ad copy; TWIZZLERS creative briefKatherine Grudens
 
Entrepreneurs who started after 40 and made it BIG
Entrepreneurs who started after 40 and made it BIGEntrepreneurs who started after 40 and made it BIG
Entrepreneurs who started after 40 and made it BIGATUL RAJA
 
Протченко
ПротченкоПротченко
Протченкоprot92
 
Презентація нових програм ЄС
Презентація нових програм ЄСПрезентація нових програм ЄС
Презентація нових програм ЄСtetiana1958
 
Content marketing - jak dzięki marketingowi treści zwiększyć widoczność witry...
Content marketing - jak dzięki marketingowi treści zwiększyć widoczność witry...Content marketing - jak dzięki marketingowi treści zwiększyć widoczność witry...
Content marketing - jak dzięki marketingowi treści zwiększyć widoczność witry...SeoStation.pl
 
Cagayanvalleyregion2 100916102832-phpapp02
Cagayanvalleyregion2 100916102832-phpapp02Cagayanvalleyregion2 100916102832-phpapp02
Cagayanvalleyregion2 100916102832-phpapp02Elmer Llames
 

Destacado (16)

CaliVita company presentation
CaliVita company presentationCaliVita company presentation
CaliVita company presentation
 
Disability into Ability - 5 big challenges
Disability into Ability - 5 big challengesDisability into Ability - 5 big challenges
Disability into Ability - 5 big challenges
 
Guerra fría
Guerra fríaGuerra fría
Guerra fría
 
Рекомендации НОСТРОЙ для членов СРО по 372-ФЗ
Рекомендации НОСТРОЙ для членов СРО по 372-ФЗРекомендации НОСТРОЙ для членов СРО по 372-ФЗ
Рекомендации НОСТРОЙ для членов СРО по 372-ФЗ
 
certificate
certificatecertificate
certificate
 
Promax POGO PIN简介
Promax POGO PIN简介Promax POGO PIN简介
Promax POGO PIN简介
 
Krvne grupe
Krvne grupeKrvne grupe
Krvne grupe
 
Ad copy; TWIZZLERS creative brief
Ad copy; TWIZZLERS creative briefAd copy; TWIZZLERS creative brief
Ad copy; TWIZZLERS creative brief
 
Entrepreneurs who started after 40 and made it BIG
Entrepreneurs who started after 40 and made it BIGEntrepreneurs who started after 40 and made it BIG
Entrepreneurs who started after 40 and made it BIG
 
Протченко
ПротченкоПротченко
Протченко
 
Organic Noni
Organic NoniOrganic Noni
Organic Noni
 
Презентація нових програм ЄС
Презентація нових програм ЄСПрезентація нових програм ЄС
Презентація нових програм ЄС
 
Content marketing - jak dzięki marketingowi treści zwiększyć widoczność witry...
Content marketing - jak dzięki marketingowi treści zwiększyć widoczność witry...Content marketing - jak dzięki marketingowi treści zwiększyć widoczność witry...
Content marketing - jak dzięki marketingowi treści zwiększyć widoczność witry...
 
Vigan Arch
Vigan ArchVigan Arch
Vigan Arch
 
Cagayanvalleyregion2 100916102832-phpapp02
Cagayanvalleyregion2 100916102832-phpapp02Cagayanvalleyregion2 100916102832-phpapp02
Cagayanvalleyregion2 100916102832-phpapp02
 
Powerpoint makalah efek negatif porno
Powerpoint makalah efek negatif pornoPowerpoint makalah efek negatif porno
Powerpoint makalah efek negatif porno
 

Similar a preparedStatement (20)

preparedstatement
preparedstatementpreparedstatement
preparedstatement
 
Statement
StatementStatement
Statement
 
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
 
Statement
StatementStatement
Statement
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Statement
Statement Statement
Statement
 
Guia7 java
Guia7 javaGuia7 java
Guia7 java
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Diapositivas objeto statement
Diapositivas objeto statementDiapositivas objeto statement
Diapositivas objeto statement
 
Statement
StatementStatement
Statement
 
Java con Base de Datos
Java con Base de Datos Java con Base de Datos
Java con Base de Datos
 
ee
eeee
ee
 
Statement
StatementStatement
Statement
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSP
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Tema statement
Tema statementTema statement
Tema statement
 

Más de Fiorella Aguilar Isuiza (20)

Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 
Admnistracion de la seguridad
Admnistracion de la seguridadAdmnistracion de la seguridad
Admnistracion de la seguridad
 
Copia de seguridad y restaurar
Copia de seguridad y restaurarCopia de seguridad y restaurar
Copia de seguridad y restaurar
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Triggr
TriggrTriggr
Triggr
 
Universidad politecnica amazonica
Universidad politecnica amazonicaUniversidad politecnica amazonica
Universidad politecnica amazonica
 
Vistas
VistasVistas
Vistas
 
Comando ddl
Comando ddlComando ddl
Comando ddl
 
Blog transact sql
Blog transact sqlBlog transact sql
Blog transact sql
 
Ejecutablenetbeans
EjecutablenetbeansEjecutablenetbeans
Ejecutablenetbeans
 
Reportes
ReportesReportes
Reportes
 
Jdbc
JdbcJdbc
Jdbc
 
Sqlcommand
SqlcommandSqlcommand
Sqlcommand
 
Objeto connectio.docx
Objeto connectio.docxObjeto connectio.docx
Objeto connectio.docx
 
Espacio de nombres system.data.sql client
Espacio de nombres system.data.sql clientEspacio de nombres system.data.sql client
Espacio de nombres system.data.sql client
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor
GestorGestor
Gestor
 
Poo y visual
Poo y visualPoo y visual
Poo y visual
 
Reportes
ReportesReportes
Reportes
 
Universidad politecnica amazonica
Universidad politecnica amazonicaUniversidad politecnica amazonica
Universidad politecnica amazonica
 

Último

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptxAEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptxhenarfdez
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Ensayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 PreuniversitarioEnsayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 Preuniversitariolucianosaldivia3
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 

Último (20)

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptxAEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Ensayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 PreuniversitarioEnsayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 Preuniversitario
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 

preparedStatement

  • 2. LA CLASE PREPAREDSTATEMENT • Vista Preliminar La interfase PreparedStatement hereda de Statement y difiere de esta en dos maneras. Las instancias de PreparedStatement contienen una sentencia SQL que ya ha sido compilada. Esto es lo que hace que se le llame ‘preparada’. 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 ‘encaje’ para cada parámetro IN. Debe suministrarse un valor para cada interrogante mediante el método apropiado setXXX antes de ejecutar la sentencia.
  • 3. Pasar parámetros IN Antes de que un objeto PreparedStatement sea ejecutado debe fijarse el valor de cada encaje ‘?’. Se hace esto mediante la llamada a un método setXXX, donde XXX es el tipo apropiado para el parámetro. Por ejemplo, si el parámetro tiene un tipo Java long, el método a usar será setLong. El primero de los argumentos del método setXXX es la posición ordinal del parámetro a fijar, y el segundo argumento es el valor que queremos que adquiera el parámetro.
  • 4. Envío de JDBC NULL como un parámetro IN El método setNull permite a los programadores enviar valores JDBC NULL a la base de datos como un parámetro IN. Notese de cualquier modo, que debe especificarse el tipo del parámetro. También se enviará un JDBC NULL a la base de datos cuando un valor Java null se pasa mediante un método setXXX (si los acepta los objetos Java como argumentos). El método setObject, en cualquier caso, puede tomar un valor null únicamente si se ha especificado el tipo JDBC.
  • 5. Ejemplo de PreparedStatement de consulta Por ejemplo supongamos que hay un campo de texto en el que el usuario puede introducir su dirección de correo electrónico y con este dato se desea buscar al usuario: Connection con = DriverManager.getConnection(url); String consulta = "SELECT usuario FROM registro WHERE email like ?"; PreparedStatement pstmt = con.prepareStatement(consulta); pstmt.setString(1,campoTexto.getText()); ResultSet resultado = ps.executeQuery();
  • 6. Ejemplo de PreparedStatement de modificación En el siguiente ejemplo se va a insertar un nuevo registro en una tabla: Connection con = DriverManager.getConnection(url); String insercion = "INSERT INTO registro(usuario , email , fechaNac) values ( ? , ? , ? )"); PreparedStatement pstmt = con.prepareStatement(consulta); String user = . . . ; String email = . . . ; Date edad = . . . ; //O int edad; pstmt.setString(1 , user); pstmt.setString(2 , email); pstmt.setDate(3 , edad); // setInt(3, edad); ps.executeUpdate();
  • 8. Usando CallableStatements Introducción JDBC (Java Database Connectivity) es un API que nos proporciona una serie de interfaces para poder acceder a cualquier base de datos que la implemente. El API nos abstrae de los detalles específicos de cada base de datos permitiendonos conectar practicamente de igual manera independientemente de la bases de datos. De entre todas las interfaces que nos proporciona el API nos centraremos en la interfaz CallableStatements que nos permitirá ejecutar procedimientos almacenados. Esto puede venir bien sobre todo cuando estamos trabajando en proyectos en los que por distintos motivos gran parte del modelo de negocio se encuentra en base de datos y se quiere por ejemplo explotar ese negocio desde una nueva aplicación desarrollada en otra tecnología, Java concretamente.
  • 9. Entorno El tutorial está escrito usando el siguiente entorno: Hardware : Portátil Mac Book Pro 15″ (2,6 Ghz Intel Core i7, 4 GB DDR3). Sistema Operativo:Mac OS X Snow Leopard 10.6.7 Eclipse Helios MySQL 5.1.35 Java 1.6
  • 10. Interfaz CallableStatements Lo primero de todo cometaros que podemos obtener más información acerca de la síntaxis de los procedimientos almacenados de MySQL desde el siquiente enlace Procedimientos almacenados y funciones. A partr de MySQL 5.0 cuando se usa con Conector/J 3.1.1 o posterior la interfaz CallableStatements esta completamente implementada excepto el metodo getParameterMetaData(). 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
  • 11. 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 esten especificados antes de la ejecución del statement usando los distinitos modos de registrar un parámetro con el método registerOutputParameter():
  • 12. Especificamos los parámetros de entrada (si existen) Los parámtros 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