2012-11-10 2 views
1

msaccess 데이터베이스에 java Timestamp를 삽입하고 싶지만 아래에 나열된 오류가 발생합니다. ms 액세스 필드가 DATE 데이터 유형으로 설정되었습니다. 모든 조언은 깊이 감사 할 것입니다.Java TimeStamp를 ms 액세스 날짜로 변환하는 방법?

public void addSale(String saleDetails, String saleTotal, Timestamp saleTimestamp) 
        throws ClassNotFoundException, SQLException { 

Statement myStatement = getConnection(); 
String sql = "INSERT INTO Sale (SaleDetails, SaleTotal, SaleTimestamp)" 
      + " VALUES ('"+saleDetails+"','"+saleTotal+"','"+saleTimestamp+"')"; 

myStatement.executeUpdate(sql); 
closeConnection(); 

내 DTO 방법 :

public void storeSale(String saleDetails, String saleTotal, Timestamp saleTimestamp){ 
    DAO dao = DAO.getDAO(); 
    try { 
     dao.addSale(saleDetails, saleTotal, saleTimestamp); 
    } catch (ClassNotFoundException | SQLException ex) { 
     Logger.getLogger(Sale.class.getName()).log(Level.SEVERE, null, ex); 
    } 

내 타임 스탬프 방법 :

public Timestamp addTimestamp(){ 
    java.util.Date date= new java.util.Date(); 
return new Timestamp(date.getTime()); 
} 

오류 : [마이크로 소프트] [ODBC 마이크로 소프트 액세스 감사

여기 내 DAO 클래스 메서드입니다 드라이버] 조건 식의 데이터 형식이 일치하지 않습니다.

java.util.Date today = new java.util.Date(); 
long t = today.getTime(); 
java.sql.Date dt = new java.sql.Date(t); 

그런 다음 넣을 수 있습니다 : 당신이 만들 TIMESTAMP

에 몇 가지 코드를 java.sql.Timestamp 데이터베이스 변경 유형의 정밀도를 필요한 경우에 java.util.Data 것은 java.sql.Date 또는 java.sql.Date

+1

ms 액세스 날짜 형식을 사용 했습니까? 그렇다면 그냥 simpledateformatter를 사용하여 구문 분석하십시오. –

답변

3

당신은 변환해야 귀하의 데이터베이스에서 java.sql.Date 항상 나를 위해 일했다.

정보를 원하시면

:

  • java.sql.Date시간, 분, 초 및 밀리 초을 무시하면서 년, 월 및 일를 저장하는 SQL DATE에 해당합니다. 또한 sql.Date은 시간대와 관련이 없습니다.
  • java.sql.TimeTIME에 해당하며 시, 분, 초 및 밀리 초에 대한 정보 만 포함합니다.
  • java.sql.Timestamp은 나노초 ()의 날짜 인 TIMESTAMP에 해당합니다. util.Date은 밀리 초만 지원합니다!).
+0

안녕하세요 저는 언급 한 변경 사항을 적용합니다. public Timestamp addTimestamp() { java.util.Date today = new java.util.Date(); long time = today.getTime(); java.sql.Date 날짜 = 새 java.sql.Date (시간); 새로운 타임 스탬프 반환 (date.getTime()); } 여전히 동일한 오류가 발생합니다 ... ms 액세스 날짜 데이터 유형이 맞습니까? – Adesh

+0

당신은 나의 요점을 이해하지 못했습니다. 데이터베이스에 Timestamp가 아닌 java.sql.Date를 추가하거나 데이터베이스 유형을 TIMESTAMP로 변경하십시오. – Frank

+0

java.sql.Date를 사용하면 데이터베이스에 쓸 날짜와 시간을 얻을 수 있습니까? ... 저는 여전히 Java의 초보자입니다. 귀하의 인내심에 감사드립니다. – Adesh

관련 문제