2014-04-25 4 views
1

내가 내 데이터베이스 (SQLite는) 시간을 선택하는이 코드가 점점 : 난 항상 값을 얻고있다자바 - DB에서 다음 getTime() - 항상 1시 0분 0초

String sql = "select cas from mytable where id = 'S222'"; 
Statement stmt2; 
try { 
     stmt2 = con.createStatement(); 
     ResultSet rs = stmt2.executeQuery(sql); 
     ResultSetMetaData rsmd = rs.getMetaData(); 

     while (rs.next()) { 
      Time cas = rs.getTime("cas"); 
      System.out.println(cas.toString());  

     } 

    } catch (SQLException ex) { 
     ... 
    } 

을 : 1시 0분 0초 데이터베이스에 시간이 09:10:00으로 설정되어 있습니다. 데이터베이스에서이 SQL SELECT 문을 실행할 때 "실행 명령"으로 올바른 값을 얻습니다. 하지만 Java 응용 프로그램에서 실행하면 항상 01:00:00이 인쇄됩니다. 문제가 무엇입니까? 내가 시간이 아닌 다른 것을 선택할 때, 그것은 정확합니다.

String sql = "select cas from mytable where id = 'S222' and cas = '09:10:00'"; 

을 내가 그것을 해결 1시 0분 0초

+0

데이터베이스 시간을 가져 오시겠습니까? 그렇다면 왜 cas 칼럼 롬 table1을 선택합니까? 이 열은 01:00:00 값을 저장하는 것 같습니다. – Guneli

+0

getTime ("cas") 대신'getTimestamp ("cas")'를 사용하십시오. – Priyesh

+0

아니요, 데이터베이스의 열이며 해당 유형은 시간입니다. 나는 학교에서 수업을위한 데이터베이스에 테이블을 가지고있다. 그리고 각 과정에는 시작과 동시에 시간과 시간이 있습니다. 그리고 실제 시간과 시작 시간을 비교하고 싶습니다. 그래서 칼럼 "cas"를 선택합니다. 물론 시작 시간입니다. 나는 Timestampe를 시도해 본 결과는 동일합니다 : 1970-01-01 01 : 00 : 00.009 https://dl.dropboxusercontent.com/u/130298086/select.png – user3556159

답변

0

또한 인쇄 :

그리고 시도는 일부 다음! 대신 :

String cas = rs.getString("cas"); 

을하고 그것을 작동 :

Time cas = rs.getTime("cas"); 

내가 사용. TY