[英]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.