Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.60 KB | None | 0 0
  1. package uver;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.util.ArrayList;
  7.  
  8.  
  9. public class Uver {
  10.  
  11. public static void main(String[] args) {
  12. String url = "jdbc:postgresql://bdd.inf.udec.cl:5432/isw1a";
  13. String usuario = "isw1a";
  14. String contraseña = "matiasmora18";
  15. try{
  16. Class.forName("org.postgresql.Driver");
  17. Connection conexion = DriverManager.getConnection(url,usuario,contraseña);
  18. java.sql.Statement st = conexion.createStatement();
  19.  
  20. /////Pruebas/////
  21. String sql;
  22. String driver="";
  23. //sql=addNewUser(12121212, "Robert", 1996, 3, 16, 98767698, "Callese Viejo Lesbiano", "arbochanpion@cc.ru", "1234567", true, false, false, false);
  24. //sql=addNewRoute("Temuco", "Valdivia", 16, 45, 0);
  25.  
  26.  
  27. //Saca id de viajes para ir de ciudad origen a destino o intermedios y los guarda en idtravels//
  28. sql=searchTravel("Iquique", "Concepción");
  29. ResultSet result=st.executeQuery(sql);
  30. ArrayList<String> idtravels = new ArrayList<>();
  31. ArrayList<String> nseatss = new ArrayList<>();
  32. while(result.next()){
  33. String idtravel = result.getString("idtravel");
  34. String nseats = result.getString("seats");
  35. idtravels.add(idtravel);
  36. nseatss.add(nseats);
  37. }
  38. result.close();
  39. if(idtravels.isEmpty())System.out.println("No hay viajes que satisfagan su consulta");
  40. //Da la info de los viajes obtenidos
  41. while(!idtravels.isEmpty()){
  42. String aux=searchTravel4(idtravels.get(0));
  43. result=st.executeQuery(aux);
  44. while(result.next())driver=result.getString("fullname");
  45. aux=searchTravel2(idtravels.get(0));
  46. result=st.executeQuery(aux);
  47. while(result.next()){
  48. String ocity=result.getString("ocity");
  49. String dcity=result.getString("dcity");
  50. System.out.println("El viaje con Conductor:"+driver+", Origen:"+ocity+" y Destino:"+dcity+ " dispone "+nseatss.get(0)+" asientos totales y tiene el siguiente itinerario:");
  51. }
  52. nseatss.remove(0);
  53. result.close();
  54.  
  55. //Da la info de las rutas seguidas por los viajes obtenidos
  56. aux=searchTravel3(idtravels.get(0));
  57. result=st.executeQuery(aux);
  58. while(result.next()){
  59. String ocity=result.getString("ocity");
  60. String dcity=result.getString("dcity");
  61. String ohour=result.getString("ohour");
  62. System.out.println(ocity+ "-" +dcity+ " -> " +ohour);
  63. }
  64. idtravels.remove(0);
  65. }
  66.  
  67.  
  68.  
  69. ////Fin////
  70.  
  71. /* String sql = "SELECT * FROM uver.login WHERE username = 'dantzig' and pass = 1234";
  72. ResultSet result = st.executeQuery(sql);
  73. while(result.next()){
  74. String id = result.getString("username");
  75. String pas= result.getString("pass");
  76. System.out.println("id: " + id + " pass: " + pas);
  77. }
  78. result.close();*/
  79.  
  80. st.close();
  81. conexion.close();
  82. } catch(Exception e){
  83. System.out.println("ERROR DE CONEXION" + e.getMessage());
  84. }
  85.  
  86.  
  87. }
  88.  
  89.  
  90.  
  91. ////Métodos////
  92.  
  93.  
  94. public static String addNewUser(int rut, String name, int bornyear, int bornmonth, int bornday, int phone, String description, String mail, String password, boolean smoke, boolean pet, boolean talk, boolean music){
  95. String addNewUser = "INSERT INTO uver.person (rut, fullname, born, phone, description, mail, password, smoke, pet, talk, music) VALUES (" +rut+ ", '" +name+ "', '" +bornyear+ "-" +bornmonth+ "-" +bornday+ "', " +phone+ ", '" +description+ "', '" +mail+ "', '" +password+ "', " +smoke+ ", " +pet+ ", " +talk+ ", " +music+ ")";
  96. return addNewUser;
  97. }
  98.  
  99. public static String addNewRoute(String src, String dst, int hour, int minute, int second){
  100. String addNewRoute = "INSERT INTO uver.route (idroute, ocity, dcity, ohour) VALUES ( " +Math.random()*100+ ", '" +src+ "', '" +dst+ "', '" +hour+ ":" +minute+ ":" +second+ "')";
  101. return addNewRoute;
  102. }
  103.  
  104. public static String searchTravel(String src, String dst){
  105. String searchTravel="SELECT DISTINCT uver.travel_route.idtravel, uver.travel.seats\n" +
  106. "FROM uver.travel_route\n" +
  107. "INNER JOIN uver.route \n" +
  108. "ON uver.travel_route.idroute = uver.route.idroute\n" +
  109. "INNER JOIN uver.travel \n" +
  110. "ON uver.travel.idtravel = uver.travel_route.idtravel \n" +
  111. "WHERE uver.travel.ocity='"+src+"' AND uver.travel.dcity='"+dst+"' OR uver.route.ocity='"+src+"' AND uver.route.dcity='"+dst+"'";
  112. return searchTravel;
  113. }
  114.  
  115. public static String searchTravel2(String idtravel){
  116. String searchTravel2="SELECT uver.travel.ocity, uver.travel.dcity\n" +
  117. "FROM uver.travel\n" +
  118. "WHERE uver.travel.idtravel="+idtravel+";";
  119. return searchTravel2;
  120. }
  121.  
  122. public static String searchTravel3(String idtravel){
  123. String searchTravel3="SELECT uver.route.ocity, uver.route.dcity, uver.route.ohour\n" +
  124. "FROM uver.travel_route\n" +
  125. "INNER JOIN uver.route\n" +
  126. "ON uver.travel_route.idroute=uver.route.idroute\n" +
  127. "WHERE uver.travel_route.idtravel="+idtravel+";";
  128. return searchTravel3;
  129. }
  130.  
  131. public static String searchTravel4(String idtravel){
  132. String searchTravel4="SELECT uver.person.fullname\n" +
  133. "FROM uver.person_driver\n" +
  134. "INNER JOIN uver.driver_travel \n" +
  135. "ON uver.person_driver.rut=uver.driver_travel.rut AND uver.driver_travel.idtravel="+idtravel+"\n" +
  136. "INNER JOIN uver.person\n" +
  137. "ON uver.person.rut=uver.person_driver.rut";
  138. return searchTravel4;
  139. }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement