2016-11-25 10 views
-1

JDBCへの接続が正常に動作しています。しかし、私は出力を得ることはありません。 これはデータベーステーブルにアクセスするコードです。 ファイル名 - FlightDB.java選択クエリの結果セットからJavaオブジェクトを作成したい

public static Flight selectFlight(Flight flight) throws SQLException{ 
     PreparedStatement ps = null; 
     ResultSet rs = null; 
     String q1 = "Select * from Flights1 f order by f.time"; 
     Flight flight1 = null; 
     try{ 
      ps = connection.prepareStatement(q1); 
      rs = ps.executeQuery(); 
      while(rs.next()){ 
       flight = Display.showFlights(rs); 
      // flight1 = new Flight(); 
//    flight1.setflno(rs.getInt(1)); 
//    flight1.settime(rs.getTimestamp(2)); 
      } 
     } 
     finally{ 
      closeResultSet(rs); 
      closePreparedStatement(ps); 
     } 
     return flight; 

    } 

そして、これはトップレベルのコードの一部です------------ ファイル名:Display.java

static Flight showFlights(ResultSet rs) throws SQLException { 
     Flight flight1 = new Flight(); 
//  Flight flight = new Flight(flno,time); 
//  FlightDB.selectFlight(flight); 
     flight1.setflno(rs.getInt(1)); 
     flight1.settime(rs.getTimestamp(2)); 
     System.out.println("New flight " + flight1.getflno()); 
     return flight1; 
} 

これは私のクラスフライトです---- Flight.java

public Flight() { 
      flno = 0; 
      time = null; 
     } 
     public Flight(int flno ,Timestamp time) 
     { 
      this.flno = flno; 
      this.time = time; 

     } 
     public int getflno(){ 
      return flno; 
     } 
     public void setflno(int flno){ 
      this.flno = flno; 
     } 
     public Timestamp gettime(){ 
      return time; 
     } 
     public void settime(Timestamp time){ 
      this.time = time; 
     } 

このコードを見ていただきありがとうございます。私はどこに間違っているのか分からない。これで私を助けてくれますか?ありがとう。

+0

ライン 'のSystem.out.println試すことができます( "新しいフライトを" + flight1.getflno());'静的な文字列でFlight.getflno' 'から' int'をconcatentateしようとする試みリテラル ''新しい飛行 ''。あなた自身のロールオーケーでの多くの問題の1つだけがここにあります。 – Tersosauros

答えて

0

はテーブル名ですFlights1 ログには例外がありますか? あなたはこの

ps = connection.prepareStatement(q1); 
     rs = ps.executeQuery(); 
     while(rs.next()){ 
Flight flight1 = new Flight(); 
flight1.setflno(rs.getInt(1)); 
flight1.settime(rs.getTimestamp(2)); 
System.out.println("New flight " + flight1.getflno());} 
+0

はいテーブルスキーマはFlights1です(flno int、timeタイムスタンプ) – user7207595

+0

はい、うまくいきました。私はコードを追加しました。また、Display.javaコードを静的Flightに変更しました。showFlights(ResultSet rs)throw SQLException { Flight flight1 = new Flight(); FlightsDB.selectFlight(flight1); return flight1; } } – user7207595

関連する問題