Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.*;
- import java.io.*;
- import java.util.*;
- public class TransactionMySQL {
- Connection conn = null;
- Statement stmt = null;
- BufferedReader in = null;
- static final String URL = "jdbc:mysql://localhost/";
- static final String BD = "ponchito"; // especificar: el nombre de la BD,
- static final String USER = "test"; // el nombre de usuario
- static final String PASSWD = "password";// el password del usuario
- public TransactionMySQL() throws SQLException, Exception {
- // this will load the MySQL driver, each DB has its own driver
- Class.forName( "com.mysql.jdbc.Driver" );
- System.out.print( "Connecting to the database... " );
- // setup the connection with the DB
- conn = DriverManager.getConnection( URL+BD, USER, PASSWD );
- System.out.println( "connected\n\n" );
- conn.setAutoCommit( false ); // inicio de la 1a transacción
- stmt = conn.createStatement();
- in = new BufferedReader( new InputStreamReader(System.in) );
- }
- private void dumpResultSet( ResultSet rset ) throws SQLException {
- ResultSetMetaData rsetmd = rset.getMetaData();
- int i = rsetmd.getColumnCount();
- while( rset.next() ) {
- for( int j = 1; j <= i; j++ ) {
- System.out.print( rset.getString(j) + "\t" );
- }
- System.out.println();
- }
- }
- private void query( String statement ) throws SQLException {
- ResultSet rset = stmt.executeQuery( statement );
- System.out.println( "Results:" );
- dumpResultSet( rset );
- System.out.println();
- rset.close();
- }
- private String simpleQuery( String statement )
- throws SQLException {
- ResultSet rset = stmt.executeQuery( statement );
- String result = rset.getString(1);
- rset.close();
- return result;
- }
- private void close() throws SQLException {
- stmt.close();
- conn.close();
- }
- private boolean menuAgent() throws SQLException, IOException {
- System.out.println( "\nIngrese su nombre" );
- String nombre = in.readLine();
- System.out.println( "\nIngrese su contrasena" );
- String contrasena = in.readLine();
- statement = "select * from agente where nombre = \"" + nombre + "\" and clave = \"" + contrasena + "\"";
- String test = simpleQuery(statement);
- if (test.equals("")){
- return true;
- }
- String statement;
- System.out.println( "(1) Mostrar lista completa de ciudades\n" );
- System.out.println( "(2) Mostrar lista completa de circuitos\n" );
- System.out.println( "(3) Filtrar hoteles por ciudad\n" );
- System.out.println( "(4) Filtrar sitios a visitar por ciudad\n" );
- System.out.println( "(5) Filtrar circuitos a visitar por disponibilidad\n" );
- System.out.println( "(6) Generar simulacion\n" );
- //buscar simulacion existente
- System.out.println( "(7) Validar todos los cambios\n" );
- System.out.println( "(8) Abortar todos los cambios\n" );
- System.out.println( "(9) Consultar\n\n" );
- System.out.println( "(10) Salir\n\n" );
- System.out.print( "Option: " );
- switch( Integer.parseInt( "0" + in.readLine() ) ) {
- case 1:
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( "select * from ciudad group by country" );
- break;
- case 2:
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( "select * from circuito group by country" );
- break;
- case 3:
- System.out.println( "\nSintax: ciudad, pais" );
- String parts = in.readLine().split(", ");
- statement = "select * from hotel where ciudad=\"" + parts[0] + "\" and pais=\"" + parts[1] + "\"";
- String test = simpleQuery(statement);
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- break;
- case 4: System.out.println( "\nSintax: ciudad, pais" );
- String parts = in.readLine().split(", ");
- statement = "select * from lugaravisitar where ciudad=\"" + parts[0] + "\" and pais=\"" + parts[1] + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- break;
- case 5: System.out.println( "\nFecha de salida (sintax: YYYY-MM-DD)" );
- String fechaSalida = in.readLine();
- System.out.println( "\nFecha de regreso (sintax: YYYY-MM-DD)" );
- String fechaRegreso = in.readLine();
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.fechasalida=\"" + fechaSalida + "\" and DATE_ADD(f.fechasalida, INTERVAL c.duracion DAY)=\"" + fechaRegreso + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- break;
- case 6: System.out.println( "\nPara abortar deje en blanco" );
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- Date today = new Date();
- date = dateFormat.format(today);
- System.out.println( "\nIngresa tu nombre" );
- String nombre = in.readLine();
- if (nombre==""){
- break;
- }
- System.out.println( "\nIngresa el numero de personas que viajaran" );
- String numero = in.readLine();
- if (numero==""){
- break;
- }
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.nbpersonas=" + numero;
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nFecha de salida (sintax: YYYY-MM-DD)" );
- String fechaSalida = in.readLine();
- if (fechaSalida==""){
- break;
- }
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.fechasalida=\"" + fechaSalida + "\"and f.nbpersonas=" + numero;
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nFecha de regreso (sintax: YYYY-MM-DD)" );
- String fechaRegreso = in.readLine();
- if (fechaRegreso==""){
- break;
- }
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.fechasalida=\"" + fechaSalida + "\" and DATE_ADD(f.fechasalida, INTERVAL c.duracion DAY)=\"" + fechaRegreso + "\"" + fechaSalida + "\"and f.nbpersonas=" + numero;
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nIngresa el pais deseado" );
- String pais = in.readLine();
- if (pais==""){
- break;
- }
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.fechasalida=\"" + fechaSalida + "\" and c.paisllegada =\"" +pais + "\"and f.nbpersonas=" + numero;
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nIngresa el ID del tour deseado" );
- String id = in.readLine();
- if (id==""){
- break;
- }
- statement = "insert into relacion2 values ( "+ today+name +", '"+ id +"', '" + fechaSalida + "')";
- stmt.executeUpdate( statement );
- statement = "select * from hotel where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nSelecciona un hotel para tu estancia" );
- String hotel = in.readLine();
- if (hotel==""){
- break;
- }
- statement = "insert into relacion values ( "+ today+name +", '"+ hotel +"', '" + ciudad + "', '" + pais + "')";
- stmt.executeUpdate( statement );
- System.out.println( "\nDeseas agregar mas lugares a tu simulacion: si (1), no (0)" );
- int selection = Integer.parseInt(in.readLine());
- if (selection==1){
- statement = "select * from lugaravisitar where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nSelecciona un lugar a visitar para añadir" );
- String lugar = in.readLine();
- statement = "insert into relacion values ( "+ today+name +", '"+ lugar +"', '" + ciudad + "', '" + pais + "')";
- stmt.executeUpdate( statement );
- while (selection==1){
- System.out.println( "\nDeseas agregar mas lugar a tu simulacion: si (1), no (0)" );
- selection = Integer.parseInt(in.readLine());
- statement = "select * from lugaravisitar where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nSelecciona un lugar a visitar para añadir" );
- lugar = in.readLine();
- statement = "insert into relacion values ( "+ today+name +", '"+ lugar +"', '" + ciudad + "', '" + pais + "')";
- stmt.executeUpdate( statement );
- }
- }
- statement = "select precio from hotel where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\" and nombre=\"" + hotel + "\"";
- int precioHotel = Integer.parseInte(simpleQuery( statement ));
- statement = "select preciodesayuno from hotel where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\" and nombre=\"" + hotel + "\"";
- int precioDesayunoHotel = Integer.parseInte(simpleQuery( statement ));
- statement = "select sum(lugaravisitar.precio) from lugaravisitar, relacion where relacion.nombre=lugaravisitar.nombre and relacion.ciudad=lugaravisitar.ciudad and relacion.pais=lugaravisitar.pais and relacion.id=\"" + today+name + "\"";
- int precioLugares = Integer.parseInte(simpleQuery( statement ));
- statement = "select circuito.precio from circuito, relacion2, fechacircuito where relacion2.idcircuito=circuito.id and fechacircuito.idcircuito=circuito.id and relacion2.fechasalida=fechacircuito.fechasalida and relacion2.id=\"" + today+name + "\"";
- int precioCircuito = Integer.parseInteger(simpleQuery( statement ));
- int precio = precioHotel + precioDesayunoHotel + precioLugares + precioCircuito;
- statement = "insert into simulacion values ( "+ today+name +", '"+ nombre +"', '"+ fechaSalida +"', '"+ fechaRegreso +"', " + numero + ", " + precio + ")";
- stmt.executeUpdate( statement );
- System.out.println("Su reservacion es: " + today+name);
- break;
- case 7: conn.commit(); // fin de la transacción e inicio de la siguiente
- break;
- case 8: conn.rollback(); // fin de la transacción e inicio de la siguiente
- break;
- case 9: System.out.println( "\nIngrese su ID" );
- String id = in.readLine();
- statement = "select * from simulacion where id=\"" + id + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- statement = "select * from relacion where id=\"" + id + "\"";
- query( statement );
- statement = "select * from relacion2 where id=\"" + id + "\"";
- query( statement );
- break;
- case 10: return false;
- }
- return true;
- }
- private boolean menuUser() throws SQLException, IOException {
- System.out.println( "\nIngrese su nombre" );
- String nombre = in.readLine();
- System.out.println( "\nIngrese su contrasena" );
- String contrasena = in.readLine();
- statement = "select * from cliente where nombre = \"" + nombre + "\" and clave = \"" + contrasena + "\"";
- String test = simpleQuery(statement);
- if (test.equals("")){
- return true;
- }
- String statement;
- System.out.println( "(1) Mostrar lista completa de ciudades\n" );
- System.out.println( "(2) Mostrar lista completa de circuitos\n" );
- System.out.println( "(3) Filtrar hoteles por ciudad\n" );
- System.out.println( "(4) Filtrar sitios a visitar por ciudad\n" );
- System.out.println( "(5) Filtrar circuitos a visitar por disponibilidad\n" );
- System.out.println( "(6) Consultar\n\n" );
- System.out.println( "(7) Salir\n\n" );
- System.out.print( "Option: " );
- switch( Integer.parseInt( "0" + in.readLine() ) ) {
- case 1:
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( "select * from ciudad group by country" );
- break;
- case 2:
- query( "select * from circuito group by country" );
- break;
- case 3: System.out.println( "\nSintax: ciudad, pais" );
- String parts = in.readLine().split(", ");
- statement = "select * from hotel where ciudad=\"" + parts[0] + "\" and pais=\"" + parts[1] + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- break;
- case 4: System.out.println( "\nSintax: ciudad, pais" );
- String parts = in.readLine().split(", ");
- statement = "select * from lugaravisitar where ciudad=\"" + parts[0] + "\" and pais=\"" + parts[1] + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- break;
- case 5: System.out.println( "\nFecha de salida (sintax: YYYY-MM-DD)" );
- String fechaSalida = in.readLine();
- System.out.println( "\nFecha de regreso (sintax: YYYY-MM-DD)" );
- String fechaRegreso = in.readLine();
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.fechasalida=\"" + fechaSalida + "\" and DATE_ADD(f.fechasalida, INTERVAL c.duracion DAY)=\"" + fechaRegreso + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- break;
- case 6: System.out.println( "\nIngrese su ID" );
- String id = in.readLine();
- statement = "select * from reservacion where nombre=\"" + nombre + "\"";
- query( statement );
- statement = "select * from reservacion, relacion where reservacion.id=relacion.id and reservacion.nombre=\"" + nombre + "\"";
- query( statement );
- statement = "select * from reservacion, relacion2 where reservacion.id=relacion2.id and reservacion.nombre=\"" + nombre + "\"";
- query( statement );
- break;
- case 7: return false;
- }
- return true;
- }
- private boolean menuPublic() throws SQLException, IOException {
- String statement;
- System.out.println( "(1) Mostrar lista completa de ciudades\n" );
- System.out.println( "(2) Mostrar lista completa de circuitos\n" );
- System.out.println( "(3) Filtrar hoteles por ciudad\n" );
- System.out.println( "(4) Filtrar sitios a visitar por ciudad\n" );
- System.out.println( "(5) Filtrar circuitos a visitar por disponibilidad\n" );
- System.out.println( "(6) Generar simulacion\n" );
- System.out.println( "(7) Validar todos los cambios\n" );
- System.out.println( "(8) Abortar todos los cambios\n" );
- System.out.println( "(9) Consultar\n\n" );
- System.out.println( "(10) Salir\n\n" );
- System.out.print( "Option: " );
- switch( Integer.parseInt( "0" + in.readLine() ) ) {
- case 1:
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( "select * from ciudad group by country" );
- break;
- case 2:
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( "select * from circuito group by country" );
- break;
- case 3:
- System.out.println( "\nSintax: ciudad, pais" );
- String parts = in.readLine().split(", ");
- statement = "select * from hotel where ciudad=\"" + parts[0] + "\" and pais=\"" + parts[1] + "\"";
- String test = simpleQuery(statement);
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- break;
- case 4: System.out.println( "\nSintax: ciudad, pais" );
- String parts = in.readLine().split(", ");
- statement = "select * from lugaravisitar where ciudad=\"" + parts[0] + "\" and pais=\"" + parts[1] + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- break;
- case 5: System.out.println( "\nFecha de salida (sintax: YYYY-MM-DD)" );
- String fechaSalida = in.readLine();
- System.out.println( "\nFecha de regreso (sintax: YYYY-MM-DD)" );
- String fechaRegreso = in.readLine();
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.fechasalida=\"" + fechaSalida + "\" and DATE_ADD(f.fechasalida, INTERVAL c.duracion DAY)=\"" + fechaRegreso + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- break;
- case 6: System.out.println( "\nPara abortar deje en blanco" );
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- Date today = new Date();
- date = dateFormat.format(today);
- System.out.println( "\nIngresa tu nombre" );
- String nombre = in.readLine();
- if (nombre==""){
- break;
- }
- System.out.println( "\nIngresa el numero de personas que viajaran" );
- String numero = in.readLine();
- if (numero==""){
- break;
- }
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.nbpersonas=" + numero;
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nFecha de salida (sintax: YYYY-MM-DD)" );
- String fechaSalida = in.readLine();
- if (fechaSalida==""){
- break;
- }
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.fechasalida=\"" + fechaSalida + "\"and f.nbpersonas=" + numero;
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nFecha de regreso (sintax: YYYY-MM-DD)" );
- String fechaRegreso = in.readLine();
- if (fechaRegreso==""){
- break;
- }
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.fechasalida=\"" + fechaSalida + "\" and DATE_ADD(f.fechasalida, INTERVAL c.duracion DAY)=\"" + fechaRegreso + "\"" + fechaSalida + "\"and f.nbpersonas=" + numero;
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nIngresa el pais deseado" );
- String pais = in.readLine();
- if (pais==""){
- break;
- }
- statement = "select c.id, c.descripcion, c.ciudadsalida, c.paissalida, c.ciudadllegada, c.paisllegada, c.duracion, c.precio from circuito c , fecha f where c.id = f.id and f.fechasalida=\"" + fechaSalida + "\" and c.paisllegada =\"" +pais + "\"and f.nbpersonas=" + numero;
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nIngresa el ID del tour deseado" );
- String id = in.readLine();
- if (id==""){
- break;
- }
- statement = "insert into relacion2 values ( "+ today+name +", '"+ id +"', '" + fechaSalida + "')";
- stmt.executeUpdate( statement );
- statement = "select * from hotel where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nSelecciona un hotel para tu estancia" );
- String hotel = in.readLine();
- if (hotel==""){
- break;
- }
- statement = "insert into relacion values ( "+ today+name +", '"+ hotel +"', '" + ciudad + "', '" + pais + "')";
- stmt.executeUpdate( statement );
- System.out.println( "\nDeseas agregar mas lugares a tu simulacion: si (1), no (0)" );
- int selection = Integer.parseInt(in.readLine());
- if (selection==1){
- statement = "select * from lugaravisitar where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nSelecciona un lugar a visitar para añadir" );
- String lugar = in.readLine();
- statement = "insert into relacion values ( "+ today+name +", '"+ lugar +"', '" + ciudad + "', '" + pais + "')";
- stmt.executeUpdate( statement );
- while (selection==1){
- System.out.println( "\nDeseas agregar mas lugar a tu simulacion: si (1), no (0)" );
- selection = Integer.parseInt(in.readLine());
- statement = "select * from lugaravisitar where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- System.out.println( "\nSelecciona un lugar a visitar para añadir" );
- lugar = in.readLine();
- statement = "insert into relacion values ( "+ today+name +", '"+ lugar +"', '" + ciudad + "', '" + pais + "')";
- stmt.executeUpdate( statement );
- }
- }
- statement = "select precio from hotel where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\" and nombre=\"" + hotel + "\"";
- int precioHotel = Integer.parseInte(simpleQuery( statement ));
- statement = "select preciodesayuno from hotel where ciudad=\"" + ciudad + "\" and pais=\"" + pais + "\" and nombre=\"" + hotel + "\"";
- int precioDesayunoHotel = Integer.parseInte(simpleQuery( statement ));
- statement = "select sum(lugaravisitar.precio) from lugaravisitar, relacion where relacion.nombre=lugaravisitar.nombre and relacion.ciudad=lugaravisitar.ciudad and relacion.pais=lugaravisitar.pais and relacion.id=\"" + today+name + "\"";
- int precioLugares = Integer.parseInte(simpleQuery( statement ));
- statement = "select circuito.precio from circuito, relacion2, fechacircuito where relacion2.idcircuito=circuito.id and fechacircuito.idcircuito=circuito.id and relacion2.fechasalida=fechacircuito.fechasalida and relacion2.id=\"" + today+name + "\"";
- int precioCircuito = Integer.parseInteger(simpleQuery( statement ));
- int precio = precioHotel + precioDesayunoHotel + precioLugares + precioCircuito;
- statement = "insert into simulacion values ( "+ today+name +", '"+ nombre +"', '"+ fechaSalida +"', '"+ fechaRegreso +"', " + numero + ", " + precio + ")";
- stmt.executeUpdate( statement );
- System.out.println("Su reservacion es: " + today+name);
- break;
- case 7: conn.commit(); // fin de la transacción e inicio de la siguiente
- break;
- case 8: conn.rollback(); // fin de la transacción e inicio de la siguiente
- break;
- case 9: System.out.println( "\nIngrese su ID" );
- String id = in.readLine();
- statement = "select * from simulacion where id=\"" + id + "\"";
- if (test.equals("")){
- System.out.println("Query failed try again");
- break;
- }
- query( statement );
- statement = "select * from relacion where id=\"" + id + "\"";
- query( statement );
- statement = "select * from relacion2 where id=\"" + id + "\"";
- query( statement );
- break;
- case 10: return false;
- }
- return true;
- }
- public static void main( String arg[] ) throws SQLException, Exception {
- if( arg.length != 0 ) {
- System.err.println( "Use: java TransactionMySQL" );
- System.exit( 1 );
- }
- TransactionMySQL transaction = new TransactionMySQL();
- while( true )
- try {
- if( ! transaction.menu() )
- break;
- } catch( Exception e ) {
- System.err.println( "failed" );
- e.printStackTrace( System.err );
- }
- transaction.close();
- }
- }
- ///manejar errores
- ///nombres tablas
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement