与JDBC的连接工作正常。这是访问数据库表的代码。文件名 -如何从select查询的结果集中创建Java对象?
FlightDB.java 模式 - Flights1(flno INT,时间时间戳)
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;
}
这是顶级代码的一部分------------文件名: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' –