簡體   English   中英

如何將Java TimeStamp轉換為ms訪問日期?

[英]How to convert Java TimeStamp into ms access Date?

我想將一個java時間戳插入一個msaccess數據庫,但我收到一個錯誤,如下所示。 ms-access字段已設置為DATE數據類型。 任何建議都將深表感謝。 謝謝

這是我的DAO類方法:

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());
}

錯誤:[Microsoft] [ODBC Microsoft Access驅動程序]條件表達式中的數據類型不匹配。

您需要將java.util.Data轉換為java.sql.Date或者如果需要java.sql.Timestamp的精度,請將Database類型更改為TIMESTAMP

一些代碼來創建java.sql.Date

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

然后你可以把java.sql.Date放在你的數據庫中,總是對我有用。

對於信息:

  • java.sql.Date對應於SQL DATE它存儲年,月和日,小時,分鍾,秒和毫秒則被忽略。 另外, sql.Date與時區sql.Date
  • java.sql.Time對應於SQL TIME僅包含有關小時,分鍾,秒和毫秒的信息
  • java.sql.Timestamp對應於SQL TIMESTAMP ,它是納秒的日期( 注意util.Date只支持毫秒! )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM