BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE...

67
BASES DE DATOS Ingeniería Informática Matemáticas e Informática

Transcript of BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE...

Page 1: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

BASES DE DATOS

Ingeniería Informática

Matemáticas e Informática

Page 2: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 1

BASES DE DATOS

Acceso a Bases de datos

en Java

Page 3: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 2

BASES DE DATOS

Contacto con Prof. Alejandro Rodríguez

Email: [email protected]

Page 4: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 3

Fase 3: Crear y ejecutar consulta

Ejecutamos resulta pero no manipulamos ResultSet

Page 5: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 4

Fase 3: Crear y ejecutar consulta

Ver ejemplo – EJ3

Page 6: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 5

Fase 4: Obtener resultados (I)

Leemos el ResultSet.

Page 7: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 6

Fase 4: Obtener resultados (I)

Ver ejemplo – EJ4

Page 8: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 7

Fase 4: Obtener resultados (I)

Page 9: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 8

Fase 5: Liberar recursos

Page 10: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 9

Fase 5: Liberar recursos

¿Debemos cerrar la conexión (conn.close) tras cada

consulta? ¿Por qué?

Page 11: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 10

Fase 5: Liberar recursos

¿Debemos cerrar la conexión (conn.close) tras cada

consulta? ¿Por qué?

No, es ineficiente si se van a ejecutar varias cosas.

Page 12: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 11

Posibles errores

Errores más comunes:

• Driver no cargado (no se encuentra en classpath).

• Fallo de conexión.

• No existe la base de datos.

• Error de sintaxis en sentencia SQL.

• Errores de permisos.

• Violación reglas integridad referencial.

¿Qué/como debemos comprobar para solucionar cada

error?

Page 13: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 12

Posibles errores

Cualquier de esos errores producirá una excepción.

En función del tipo de excepción o de los datos que nos

de la misma (códigos de error, por ejemplo) podemos

saber el error concreto.

Page 14: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 13

Manejo de excepciones

Page 15: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 14

PreparedStatement

Cada vez que enviamos una consulta al SGBD, éste:

• La analiza sintácticamente (Query Processor)

• Construye un plan para ejecutarla (Query Optimizer)

Page 16: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 15

PreparedStatement

• Si tenemos un bucle donde repetidamente lanzamos la

misma query con diferentes parámetros es ineficiente

usar la clase Statement.

• Es mejor usar para estas situaciones

PreparedStatement.

• Además evita los ataques por inyección de código SQL

en Java.

Page 17: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 16

SQL Injection

Fuente: http://bit.ly/1NSAxh1

Page 18: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 17

SQL Injection

Page 19: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 18

SQL Injection

Vamos a ver el ejemplo en código:

https://youtu.be/yjNDRhie5p8

Page 20: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 19

Insert

Insertar varios registros usando PreparedStatement: más

eficiente, evitamos SQL Injection.

Page 21: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 20

Insert

Ver ejemplo – EJ2_4

Page 22: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 21

Update (I)

Actualización de registros mediante UPDATE.

Page 23: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 22

Update (I)

Ver ejemplo – EJ2_5

Page 24: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 23

Update (II)

¿Qué ocurre? ¿Qué significa ese error?

Page 25: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 24

Update (II)

Ver ejemplo – EJ2_6

Page 26: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 25

Delete (I)

¿Qué ocurre? ¿Qué significa ese error?

Page 27: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 26

Delete (I)

Ver ejemplo – EJ2_7

Page 28: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 27

Delete (II)

Page 29: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 28

Delete (II)

Ver ejemplo – EJ2_8

Page 30: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 29

Que clases y métodos usar

Page 31: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 30

Clase DatabaseMetaData

Page 32: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 31

Clase DatabaseMetaData

Ver ejemplo – EJ2_13

Page 33: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 32

Estructura de tablas

También podemos obtener información de la estructura de

tablas usando la clase ResultSetMetaData.

Page 34: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 33

Estructura de tablas

Ver ejemplo – EJ2_14

Page 36: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 35

Funciones de tiempo en Java-SQL (I)

Ver ejemplo – EJ2_15

Page 37: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 36

Funciones de tiempo en Java-SQL (II)

Page 38: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 37

Funciones de tiempo en Java-SQL (II)

Ver ejemplo – EJ2_16

Page 39: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 38

Funciones de tiempo en Java-SQL (III)

Insertamos fechas usando un PreparedStatement donde

pasamos la fecha con un objeto java.sql.Date

En este ejemplo pasamos directamente la fecha actual.

Page 40: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 39

Funciones de tiempo en Java-SQL (III)

Ver ejemplo – EJ2_17

Page 41: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 40

Funciones de tiempo en Java-SQL (IV)

Misma dinámica pero usando una fecha específica tanto

con Date como con Calendar.

Page 42: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 41

Funciones de tiempo en Java-SQL (IV)

Ver ejemplo – EJ2_18

Page 43: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 42

Funciones de tiempo en Java-SQL (V)

Comparación de fechas.

Page 44: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 43

Funciones de tiempo en Java-SQL (V)

Ver ejemplo – EJ2_19

Page 45: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 44

Ficheros binarios en Java (I)

Modificamos la tabla “actor” para que podamos añadir

ficheros binarios.

Crearemos una nueva columna que acepte el tipo

LONGBLOB (Binary Large Object):

ALTER TABLE `sakila`.`actor` ADD COLUMN `picture`

LONGBLOB NULL AFTER `last_update`;

Page 46: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 45

Ficheros binarios en Java (I): Enviar

Añadimos el fichero usando FileInputStream.

Page 47: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 46

Ficheros binarios en Java (I): Enviar

Ver ejemplo – EJ2_20

Page 48: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 47

Ficheros binarios en Java (II): Obtener

Guardarmos el fichero con FileOutputStream.

Page 49: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 48

Ficheros binarios en Java (II): Obtener

Ver ejemplo – EJ2_21

Page 50: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 49

Actualizar BD a través de ResultSet (I)

Actualizamos un registro: UPDATE ROW.

Page 51: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 50

Actualizar BD a través de ResultSet (I)

Ver ejemplo – EJ2_22

Page 52: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 51

Actualizar BD a través de ResultSet (II)

Actualizamos un registro: INSERT ROW.

Page 53: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 52

Actualizar BD a través de ResultSet (II)

Ver ejemplo – EJ2_23

Page 54: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 53

Actualizar BD a través de ResultSet (III)

Borramos un registro: DELETE ROW.

Page 55: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 54

Actualizar BD a través de ResultSet (III)

Ver ejemplo – EJ2_24

Page 56: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 55

Procedimientos almacenados (I)

Page 57: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 56

Procedimientos almacenados (I)

Dos formas de solucionar el acceso a procedimientos almacenados:

http://stackoverflow.com/questions/986628/cant-execute-a-mysql-

stored-procedure-from-java

Page 58: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 57

Procedimientos almacenados (I)

Ver ejemplo – EJ2_25

Page 59: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 58

ArrayList para guardar datos (I)

Page 60: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 59

ArrayList para guardar datos (I)

Obtenemos los datos y los guardamos en un ArrayList de String y los

imprimimos.

Page 61: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 60

ArrayList para guardar datos (I)

Ver ejemplo – EJ2_26

Page 62: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 61

ArrayList para guardar datos (II)

Page 63: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 62

ArrayList para guardar datos (II)

Page 64: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 63

ArrayList para guardar datos (II)

Ver ejemplo – EJ2_27

Page 65: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 64

Escritura en fichero como CSV

Añadimos la opción de CSV.

Page 66: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 65

Escritura en fichero como CSV

Escribimos los resultados en un fichero.

Page 67: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con

DIAPOSITIVA 66

Escritura en fichero como CSV

Ver ejemplo – EJ2_28