0

我创建了一条 SQL 语句,通过将预订的 ID 与路由表中的 ID 列表进行比较,从表中查找空闲的 RouteId。

我想要做的是在提供的代码的底部,创建一个 if 语句,说明是否所有路由都是空闲的,然后将所有这些 RouteId 放入一个列表中。

我可以从那里完成其余的工作,但是我如何从 select 语句中获取免费路由到一个列表中,以便我可以随机化它?

这甚至可能吗?

 //<editor-fold defaultstate="collapsed" desc="To select all free routes">
           try {
               Class.forName("oracle.jdbc.driver.OracleDriver");
               //load the oracle driver...needs to be in classes folder in jre folder
           } catch (ClassNotFoundException e) {
               System.out.println(
                       " Can't find class oracle.jdbc.driver.OracleDriver");
               System.exit(1);
           }

       Connection conn3 = null;
       //new connection object
       Statement stmtFreeR = null;
       //new statemnt object
       ResultSet freeRoute = null;
       //new record set object
       try {
           conn3 = DriverManager.getConnection("jdbc:oracle:thin:@oracle.staff.ittralee.ie:1521:orcl",
                   "*", "7*");
           stmtFreeR = conn3.createStatement();
           // create the statement for this connection
           //</editor-fold>

           freeRoute = stmtFreeR.executeQuery(
           "SELECT r.RouteID FROM Route r WHERE RouteID NOT IN(SELECT b.RouteId FROM Booking b)");
           // get the results of select query and store in recordset object
           while (freeRoute.next()) {
               // move to first/next record of recordset
               JOptionPane.showMessageDialog(null, " the answer is " + freeRoute.getString(1));
               // output next record using string format
           }
           //<editor-fold defaultstate="collapsed" desc="Error handling for Select Statement">
           freeRoute.close();
           freeRoute = null;
           stmtFreeR.close();
           stmtFreeR = null;
           conn3.close();
           conn3 = null;

       } catch (SQLException e) {
           System.out.println(" A SQL error: " + e.getMessage());

       } finally {
           if (freeRoute != null) {
               try {
                   freeRoute.close();
               } catch (SQLException ignore) {
               }
           }

           if (stmtFreeR != null) {
               try {
                   stmtFreeR.close();
               } catch (SQLException ignore) {
               }
           }

           if (conn3 != null) {
               try {
                   conn3.close();
               } catch (SQLException ignore) {
               }
           }
       }

      // </editor-fold>

       if( /*freeRoute*/ != null) {

           //insert all routes into a list

           //Randomize the list

           //Return random route called RX


       }
4

0 回答 0