Commit 98df34f3 by Matias Ferreira

agregue detalles a la explicacion en el archivo README y mas interactividad a la…

agregue detalles a la explicacion en el archivo README y mas interactividad a la pantallla en los codigos del Ejercicio003
parent 700af4c6
package com.roshka.jdbc;
import java.sql.*;
......@@ -11,17 +10,15 @@ public class Q10 {
String password = "pqntslc";
try {
/* QUERY
* select distinct fullname
* from ( (enrollments en
* select distinct fullname
* from ( (enrollments en
* left join students st)
* on en.student_iid = st.student_iid) as en_st
* left join courses co
* left join courses co
* on en_st.course_iid = co.course_iid) as en_st_co
* where en_st_co.code = 'a1010';
* */
* */
Connection connection = DriverManager.getConnection(url, user,password);
System.out.println("estoy conectado a la base de datos");
Statement st = connection.createStatement();
String query = "SELECT DISTINCT fullname "
+ "FROM ((enrollments en "
......@@ -30,8 +27,9 @@ public class Q10 {
+ "LEFT JOIN courses co "
+ "ON en_st.course_iid = co.course_iid) AS en_st_co "
+ "WHERE en_st_co.code = 'a1010';";
ResultSet rs = st.executeQuery(query);
System.out.println("Imprimiendo la lista de los alumnos del curso con codigo \'a1010\' ");
while(rs.next() ) {
String fullname = rs.getString("fullname");
System.out.println(fullname);
......
package com.roshka.jdbc;
import java.sql.*;
......@@ -11,20 +10,19 @@ public class Q11 {
String password = "pqntslc";
try {
/* QUERY
* SELECT name
* SELECT name
* FROM courses
* WHERE EXTRACT('week' FROM start_date)
* WHERE EXTRACT('week' FROM start_date)
* - EXTRACT('week' FROM CURRENT_DATE) = 1;
* */
* */
Connection connection = DriverManager.getConnection(url, user,password);
System.out.println("estoy conectado a la base de datos");
Statement st = connection.createStatement();
String query = "SELECT name "
+ "FROM courses "
+ "WHERE EXTRACT('week' FROM start_date) "
+ "- EXTRACT('week' FROM CURRENT_DATE) = 1;";
System.out.println("A continuacion se lista los cursos que empiezan la semana que viene");
ResultSet rs = st.executeQuery(query);
while(rs.next() ) {
String name = rs.getString("name");
......
package com.roshka.jdbc;
import java.util.Scanner;
import java.sql.*;
......@@ -21,10 +20,9 @@ public class Q12 {
* LEFT JOIN students st
* ON en_co.student_iid = st.student_iid
* where paid = 'false' and code=codigo;
* */
* */
Connection connection = DriverManager.getConnection(url, user,password);
System.out.println("estoy conectado a la base de datos");
Statement st = connection.createStatement();
System.out.println("Ingrese el codigo del curso: ");
codigo = entrada.nextLine();
......@@ -35,24 +33,24 @@ public class Q12 {
+ "LEFT JOIN students st "
+ "ON en_co.student_iid = st.student_iid "
+ "WHERE paid = 'false' AND code='"+codigo+"';";
System.out.println("");
ResultSet rs = st.executeQuery(query);
while(rs.next() ) {
String paid = rs.getString("paid");
String nombre = rs.getString("fullname");
String enrollment_iid = rs.getString("enrollment_iid");
System.out.println("EL alumno "+nombre+" ya ha pagado? 's' o 'n'");
System.out.println("EL alumno \""+nombre+"\" ya ha pagado? 's' o 'n'");
String respuesta = entrada.next();
if(respuesta.equals("s") ) {
String update = "UPDATE enrollments "
+ "SET paid = 'true', "
+ "payment_date = CURRENT_DATE "
+ "WHERE enrollment_iid = '"+enrollment_iid+"';";
+ "WHERE enrollment_iid = '"+enrollment_iid+"';";
st.executeUpdate(update);
System.out.println("se ha actualizado la base de datos");
}
}
System.out.println("termino la actualizacion");
}catch(SQLException e) {
e.printStackTrace();;
......
# Ejercicio de JBDC 001: Sentencias Básicas
para descargar el proyecto se debe ejecutar el siguiente comando
para descargar e ingresar a la carpeta del proyecto se debe ejecutar el siguiente comando
```
git clone https://phoebe.roshka.com/gitlab/mferreira/jdbc-e001.git
cd ./jdbc-e001/
```
Para poder probar el funcionamiento de las clases Q10, Q11 y Q12 debe abrir el proyeto JDBC-e001 y cambiar la ubacion del driver de jdbc para postgres al que usted tiene en su maquina. Eso se hace en el archivo .classpath en la linea 5.
<classpathentry king="lib" path="ruta/de/tu/driver/jdbc/driver-jdbc.jar">
Si no tiene ningun driver de jdbc para postgres en su maquina, puede descargarlo desde [aqui](https://jdbc.postgresql.org/download.html 'driver jdbc postgres').
Para probar el funcionamiento de las clases del ejercicio 3 se debe compilar y ejecutar los binarios de la siguiente manera:
* Primero compilar las clases del ejercicio.
```
javac ./Ejercicio003/Q1{0,1,2}.java
```
* Luego se ejecuta el binario de la clase que se quiere probar, en este ejemplo sera Q10.
```
java -cp "/ruta/del/driver/jdbc/diver-jdbc-postgres:./Ejercicio003/" Q10
```
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment