2016-11-25 83 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 ---- 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());'尝试concatentate从'Flight.getflno'了'int'与静态字符串字面意思'“新航班”'。这只是您自己的ORM尝试的许多问题之一。 – 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,时间戳) – user7207595

+0

是的,它的工作。我添加了代码。并将Display.java代码更改为静态Flight showFlights(ResultSet rs)引发SQLException Flight1 = new Flight(); FlightsDB.selectFlight(flight1); return flight1; } } – user7207595

相关问题