JDBCへの接続が正常に動作しています。これは、データベーステーブルにアクセスするコードです。 ------------ Flights1(flno int型、タイムスタンプ)選択クエリの結果セットから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 flight1 = new Flight();
flight1 = new Flight();
flight1.setflno(rs.getInt(1));
flight1.settime(rs.getTimestamp(2));
// System.out.println(“new flight:” +flight1.getflno()); Correct output printed here
}
}
finally{
closeResultSet(rs);
closePreparedStatement(ps);
}
return flight;
}
そして、これはトップレベルのコードの一部です - ファイル名 -
FlightDB.java スキーマファイル名:Display.java
static Flight showFlights(ResultSet rs) throws SQLException {
Flight flight1 = new Flight();
AirDB.selectFlight(flight1);
// flight1.setflno(rs.getInt(1));
// flight1.settime(rs.getTimestamp(2));
System.out.println("New flight " + flight1.getflno());//OP: New flight 0
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(デフォールト値)を正しく出力していません。私はトップレベルのJavaファイルからの出力を印刷したいと思います。私はflight1 = AssignFlights1.showFlights(rs)を使ってみました。 FlightDB.javaでも。
このコードをご覧いただきありがとうございます。これで私を助けてくれますか?ありがとうございます。
ありがとうございます。申し訳ありませんが、私は言及しなかった、私はここで複数の行を返す必要があります。 – meg
その場合、それらを 'ArrayList'に追加して返します。 –