0

予約されたIDをルートテーブル内のIDのリストと比較することにより、テーブルから空きRouteIdを検索するSQLステートメントを作成しています。

私ができるようにしたいのは、提供されたコードの下部にあるように、すべてのルートが空いているかどうかを示す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