SlideShare una empresa de Scribd logo
1 de 18
“AÑO DEL BUEN SERVICIO AL CUIDADANO”
TEMA: STATEMENT.
CURSO: LABORATORIO DE PROGRAMACION II.
ESPECIALIDAD: INGENIERIA DE SISTEMAS Y TELEMATICA
.
INTEGRANTES: MIRIAN GUISELA TARRILLO CHAVEZ.
JORGE LUIS ARISTA CORONEL.
DOCENTE: MARCO AURELIO PORRO CHULLI
CILCO: V – A AULA: 101
BAGUA GRANDE– PERÚ
2017
STATEMENT
DEFINICION
• 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.
Statement stmt =
con.createStatement()
;
ResultSet rs =
stmt.executeQuery("SELECT a, b,
c FROMTable2");
Connection con =
DriverManager.get
Connection(url,
"sunny", "");
Creación de
un objeto
Statement
Un objeto Statement se crea
mediante el método de Connection
createStatement, como podemos
ver en el siguiente fragmento de
código.
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.
Ejecución de
sentencias usando
objeto 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.
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.
Realización de
Statment
Cerrar un
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.
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.
Sintaxis de escape
SQL en objetos
Statement
El objeto Statement (sentencia) sirve
para procesar una sentencia SQL
estática y obtener los resultados
producidos por ella. Solo puede haber
un ResultSet abierto para cada objeto
Statement en un momento dado.
Todos los métodos statement que
procesan una sentencia SQL cierran
implícitamente el ResultSet actual de
una sentencia si existe uno abierto.
Objetos
Statemen
Los objetos Statement se crean a
partir de objetos Connection con el
método createStatement. Por
ejemplo, suponiendo que ya exista un
objeto Connection denominado con, la
siguiente línea de código crea un
objeto Statement para pasar
sentencias SQL a la base de datos:
Statement stmt =
conn.createState
ment();
Crear sentencias
Statement stmt2 =
conn.createStatement(ResultSe
t.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATEA
BLE);
Las características de los
ResultSets están asociadas
con la sentencia que
finalmente los crea. El
método
Connection.createStatem
ent
Especificar
características del
ResutSet con el
Statemen
Método createStatement
Statement stmt3 = conn.
createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY,
ResultSet.HOLD_CURSOR_OVER_COMMIT);
Empezamos por descargar el conector MySQL para Java desde su sitio web: conector
MySQL. Una vez que hemos descargado el fichero .zip correspondiente a nuestra
plataforma lo descomprimimos en el equipo y buscamos dentro de la carpeta principal un
archivo llamado mysql-connector con extensión .jar.
Ahora tenemos que agregar este archivo jar a nuestra aplicación de NetBeabs, para
ello hacemos Click derecho sobre el nombre del proyecto y seleccionamos propiedades. En
la ventana siguiente seleccionamos en librerías y posteriormente pulsamos en el botón –
>Add Jar/folder. Finalmente accedemos a la localización del conector que descargamos
anteriormente y pulsamos OK.Después de importar el conector ya casi estamos preparados,
aunque antes de continuar necesitamos un servidor local y una base de datos.
Propiedades
•
//Establecemos la conexión con la base de datos.
Connection conexion = DriverManager.getConnection ("jdbc:mysql://localhost/prueba","root",
"la_clave");
// Preparamos la consulta
Statement s = conexion.createStatement();
ResultSet rs = s.executeQuery ("select * from persona");
// Recorremos el resultado, mientras haya registros para leer, y escribimos el resultado en
pantalla.
while (rs.next())
{
System.out.println (rs.getInt (1) + " " + rs.getString (2)+ " " + rs.getDate(3));
}
// Cerramos la conexion a la base de datos.
conexión.close();
Ejemplo 01
Ejemplo 02
import java.sql.*;
import java.util.Properties;
public class StatementExample {
public static void main(java.lang.String[] args)
{
// Sugerencia: estos se cargan a partir de un objeto de propiedades.
String DRIVER = "com.ibm.db2.jdbc.app.DB2Driver";
String URL = "jdbc:db2://*local";
// Registrar el controlador JDBC nativo. Si el controlador no puede
// registrarse, la prueba no puede continuar.
try {
Class.forName(DRIVER);
} catch (Exception e) {
System.out.println("Imposible registrar el controlador.");
System.out.println(e.getMessage());
System.exit(1);
}
Connection c = null;
Statement s = null;
try {
// Crear las propiedades de conexión.
Properties properties = new Properties ();
properties.put ("user", "userid");
properties.put ("password", "password");
// Conectar con la base de datos local de iSeries.
c = DriverManager.getConnection(URL, properties);
// Crear un objeto Statement.
s = c.createStatement();
// Se suprime la tabla de prueba, si existe. Observe que
// en este ejemplo se presupone que la colección MYLIBRARY
// existe en el sistema.
try {
s.executeUpdate("DROP TABLE MYLIBRARY.MYTABLE");
} catch (SQLException e) {
// Se continúa simplemente... es probable que la tabla no exista.
}
// Se ejecuta una sentencia SQL que crea una tabla en la base de datos.
s.executeUpdate("CREATE TABLE MYLIBRARY.MYTABLE
(NAME VARCHAR(20), ID INTEGER)");
// Se ejecutan algunas sentencias SQL que insertan registros en la tabla.
s.executeUpdate("INSERT INTO MYLIBRARY.MYTABLE (NAME, ID) VALUES ('RICH', 123)");
s.executeUpdate("INSERT INTO MYLIBRARY.MYTABLE (NAME, ID) VALUES ('FRED', 456)");
s.executeUpdate("INSERT INTO MYLIBRARY.MYTABLE (NAME, ID) VALUES ('MARK', 789)");
// Se ejecuta una consulta SQL en la tabla.
ResultSet rs = s.executeQuery("SELECT * FROM MYLIBRARY.MYTABLE");
// Visualizar todos los datos de la tabla.
while (rs.next()) {
System.out.println("El empleado " + rs.getString(1) + " tiene el ID " + rs.getInt(2));
}
} catch (SQLException sqle) {
System.out.println("El proceso de base de datos ha fallado.");
System.out.println("Razón: " + sqle.getMessage());
} finally {
// Se cierran los recursos de base de datos.
try {
if (s != null) {
s.close();
}
} catch (SQLException e) {
System.out.println("El borrado no ha podido cerrar Statement.");
}
}
try {
if (c != null) {
c.close();
}
} catch (SQLException e) {
System.out.println("El borrado no ha podido cerrar Connection.");
}
}
}
}
Statement

Más contenido relacionado

La actualidad más candente (20)

Statement
StatementStatement
Statement
 
Año del buen servicio al cuidadano
Año del buen servicio al cuidadanoAño del buen servicio al cuidadano
Año del buen servicio al cuidadano
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Statement
Statement Statement
Statement
 
Statement
StatementStatement
Statement
 
Connection
ConnectionConnection
Connection
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Preparestatement
PreparestatementPreparestatement
Preparestatement
 
Statement
StatementStatement
Statement
 
Trabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserverTrabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserver
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Statement
StatementStatement
Statement
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Conexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeansConexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeans
 
Statement
StatementStatement
Statement
 
Tema statement
Tema statementTema statement
Tema statement
 
Objeto Sql Command
Objeto Sql CommandObjeto Sql Command
Objeto Sql Command
 
Espacio de nombres System.Data.SQLClient
Espacio de nombres System.Data.SQLClientEspacio de nombres System.Data.SQLClient
Espacio de nombres System.Data.SQLClient
 

Similar a Statement (20)

Diapositivas objeto statement
Diapositivas objeto statementDiapositivas objeto statement
Diapositivas objeto 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
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Statement
StatementStatement
Statement
 
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
 
Java con Base de Datos
Java con Base de Datos Java con Base de Datos
Java con Base de Datos
 
Guia7 java
Guia7 javaGuia7 java
Guia7 java
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Lpiii tema5 - jdbc
Lpiii tema5 - jdbcLpiii tema5 - jdbc
Lpiii tema5 - jdbc
 
Java Y Oracle
Java Y OracleJava Y Oracle
Java Y Oracle
 
Java Y Oracle
Java Y OracleJava Y Oracle
Java Y Oracle
 
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde java
 
Notas clase
Notas claseNotas clase
Notas clase
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii
 
Notas clase
Notas claseNotas clase
Notas clase
 
LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.
 

Más de JhiZzelh T Cz

Segundo trabajo google chrome os
Segundo trabajo google chrome osSegundo trabajo google chrome os
Segundo trabajo google chrome osJhiZzelh T Cz
 
Primer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
Primer trabajo administracion de la memoria y algoritmos de reemplazo de paginaPrimer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
Primer trabajo administracion de la memoria y algoritmos de reemplazo de paginaJhiZzelh T Cz
 
Controles Básicos de Android Studio
 Controles Básicos de Android Studio Controles Básicos de Android Studio
Controles Básicos de Android StudioJhiZzelh T Cz
 
Aplicaciones moviles
Aplicaciones movilesAplicaciones moviles
Aplicaciones movilesJhiZzelh T Cz
 
Control JTable con base de datos.pdf
Control JTable con base de datos.pdfControl JTable con base de datos.pdf
Control JTable con base de datos.pdfJhiZzelh T Cz
 
Jdbc(Java Database Connectivity)
Jdbc(Java Database Connectivity)Jdbc(Java Database Connectivity)
Jdbc(Java Database Connectivity)JhiZzelh T Cz
 

Más de JhiZzelh T Cz (14)

Segundo trabajo google chrome os
Segundo trabajo google chrome osSegundo trabajo google chrome os
Segundo trabajo google chrome os
 
Primer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
Primer trabajo administracion de la memoria y algoritmos de reemplazo de paginaPrimer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
Primer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
 
08 layoust
08 layoust08 layoust
08 layoust
 
Controles Básicos de Android Studio
 Controles Básicos de Android Studio Controles Básicos de Android Studio
Controles Básicos de Android Studio
 
04 android studio
04 android studio04 android studio
04 android studio
 
Java y xml
Java y xmlJava y xml
Java y xml
 
Aplicaciones moviles
Aplicaciones movilesAplicaciones moviles
Aplicaciones moviles
 
Android studio
Android studioAndroid studio
Android studio
 
Reportes
ReportesReportes
Reportes
 
Control JTable con base de datos.pdf
Control JTable con base de datos.pdfControl JTable con base de datos.pdf
Control JTable con base de datos.pdf
 
ResultSet
ResultSetResultSet
ResultSet
 
Conecction
ConecctionConecction
Conecction
 
Jdbc(Java Database Connectivity)
Jdbc(Java Database Connectivity)Jdbc(Java Database Connectivity)
Jdbc(Java Database Connectivity)
 
Java
JavaJava
Java
 

Último

CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONJuan Carlos Meza Molina
 
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdfnicolascastaneda8
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5juanjoelaytegonzales2
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariasusafy7
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaAndreBarrientos3
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosRamiroCruzSalazar
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfssuser202b79
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfOmarPadillaGarcia
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 

Último (20)

CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
 
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 

Statement

  • 1. “AÑO DEL BUEN SERVICIO AL CUIDADANO” TEMA: STATEMENT. CURSO: LABORATORIO DE PROGRAMACION II. ESPECIALIDAD: INGENIERIA DE SISTEMAS Y TELEMATICA . INTEGRANTES: MIRIAN GUISELA TARRILLO CHAVEZ. JORGE LUIS ARISTA CORONEL. DOCENTE: MARCO AURELIO PORRO CHULLI CILCO: V – A AULA: 101 BAGUA GRANDE– PERÚ 2017
  • 3. DEFINICION • 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.
  • 4. Statement stmt = con.createStatement() ; ResultSet rs = stmt.executeQuery("SELECT a, b, c FROMTable2"); Connection con = DriverManager.get Connection(url, "sunny", ""); Creación de un objeto Statement Un objeto Statement se crea mediante el método de Connection createStatement, como podemos ver en el siguiente fragmento de código. 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.
  • 5. Ejecución de sentencias usando objeto 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.
  • 6. 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. Realización de Statment
  • 7. Cerrar un 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.
  • 8. 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. Sintaxis de escape SQL en objetos Statement
  • 9. El objeto Statement (sentencia) sirve para procesar una sentencia SQL estática y obtener los resultados producidos por ella. Solo puede haber un ResultSet abierto para cada objeto Statement en un momento dado. Todos los métodos statement que procesan una sentencia SQL cierran implícitamente el ResultSet actual de una sentencia si existe uno abierto. Objetos Statemen
  • 10. Los objetos Statement se crean a partir de objetos Connection con el método createStatement. Por ejemplo, suponiendo que ya exista un objeto Connection denominado con, la siguiente línea de código crea un objeto Statement para pasar sentencias SQL a la base de datos: Statement stmt = conn.createState ment(); Crear sentencias
  • 11. Statement stmt2 = conn.createStatement(ResultSe t.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATEA BLE); Las características de los ResultSets están asociadas con la sentencia que finalmente los crea. El método Connection.createStatem ent Especificar características del ResutSet con el Statemen
  • 12. Método createStatement Statement stmt3 = conn. createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSOR_OVER_COMMIT);
  • 13. Empezamos por descargar el conector MySQL para Java desde su sitio web: conector MySQL. Una vez que hemos descargado el fichero .zip correspondiente a nuestra plataforma lo descomprimimos en el equipo y buscamos dentro de la carpeta principal un archivo llamado mysql-connector con extensión .jar. Ahora tenemos que agregar este archivo jar a nuestra aplicación de NetBeabs, para ello hacemos Click derecho sobre el nombre del proyecto y seleccionamos propiedades. En la ventana siguiente seleccionamos en librerías y posteriormente pulsamos en el botón – >Add Jar/folder. Finalmente accedemos a la localización del conector que descargamos anteriormente y pulsamos OK.Después de importar el conector ya casi estamos preparados, aunque antes de continuar necesitamos un servidor local y una base de datos. Propiedades
  • 14. • //Establecemos la conexión con la base de datos. Connection conexion = DriverManager.getConnection ("jdbc:mysql://localhost/prueba","root", "la_clave"); // Preparamos la consulta Statement s = conexion.createStatement(); ResultSet rs = s.executeQuery ("select * from persona"); // Recorremos el resultado, mientras haya registros para leer, y escribimos el resultado en pantalla. while (rs.next()) { System.out.println (rs.getInt (1) + " " + rs.getString (2)+ " " + rs.getDate(3)); } // Cerramos la conexion a la base de datos. conexión.close(); Ejemplo 01
  • 15. Ejemplo 02 import java.sql.*; import java.util.Properties; public class StatementExample { public static void main(java.lang.String[] args) { // Sugerencia: estos se cargan a partir de un objeto de propiedades. String DRIVER = "com.ibm.db2.jdbc.app.DB2Driver"; String URL = "jdbc:db2://*local"; // Registrar el controlador JDBC nativo. Si el controlador no puede // registrarse, la prueba no puede continuar. try { Class.forName(DRIVER); } catch (Exception e) { System.out.println("Imposible registrar el controlador."); System.out.println(e.getMessage()); System.exit(1); } Connection c = null; Statement s = null; try { // Crear las propiedades de conexión. Properties properties = new Properties (); properties.put ("user", "userid"); properties.put ("password", "password"); // Conectar con la base de datos local de iSeries. c = DriverManager.getConnection(URL, properties); // Crear un objeto Statement. s = c.createStatement(); // Se suprime la tabla de prueba, si existe. Observe que // en este ejemplo se presupone que la colección MYLIBRARY // existe en el sistema. try { s.executeUpdate("DROP TABLE MYLIBRARY.MYTABLE"); } catch (SQLException e) { // Se continúa simplemente... es probable que la tabla no exista. } // Se ejecuta una sentencia SQL que crea una tabla en la base de datos. s.executeUpdate("CREATE TABLE MYLIBRARY.MYTABLE (NAME VARCHAR(20), ID INTEGER)");
  • 16. // Se ejecutan algunas sentencias SQL que insertan registros en la tabla. s.executeUpdate("INSERT INTO MYLIBRARY.MYTABLE (NAME, ID) VALUES ('RICH', 123)"); s.executeUpdate("INSERT INTO MYLIBRARY.MYTABLE (NAME, ID) VALUES ('FRED', 456)"); s.executeUpdate("INSERT INTO MYLIBRARY.MYTABLE (NAME, ID) VALUES ('MARK', 789)"); // Se ejecuta una consulta SQL en la tabla. ResultSet rs = s.executeQuery("SELECT * FROM MYLIBRARY.MYTABLE"); // Visualizar todos los datos de la tabla. while (rs.next()) { System.out.println("El empleado " + rs.getString(1) + " tiene el ID " + rs.getInt(2)); } } catch (SQLException sqle) { System.out.println("El proceso de base de datos ha fallado."); System.out.println("Razón: " + sqle.getMessage()); } finally {
  • 17. // Se cierran los recursos de base de datos. try { if (s != null) { s.close(); } } catch (SQLException e) { System.out.println("El borrado no ha podido cerrar Statement."); } } try { if (c != null) { c.close(); } } catch (SQLException e) { System.out.println("El borrado no ha podido cerrar Connection."); } } } }