![](/img/trans.png)
[英]how to insert in a date/time ms access field using java sql INSERT query
[英]Insert null into Date/Time field in MS Access-
我一直試圖在MS Access的“ Date/Time
列中插入null
值,但我一直收到此錯誤
以下是有關如何設置空值的變體
String processedDate = ""; // doesn't work
String processedDate = null; // doesn't work
我在SQL插入過程中遇到的錯誤
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression
我用Java編寫的插入查詢
INSERT INTO DonorDetails ([SIGNUP DATE],Remarks, [Date Processed])values ('25/03/2014','','')
當我知道值為null時,是否必須顯式構造不帶[Processed Date]列的SQL語句? 還是有更簡單的方法?
在SQL中, null
值必須由關鍵字NULL
表示。
INSERT INTO DonorDetails
([SIGNUP DATE], Remarks, [Date Processed])
VALUES (#2014/03/25#, NULL, NULL)
String processedDate = "NULL";
尚不清楚如何構造查詢,但是一個好習慣是創建一個如下准備的語句:
PreparedStatement ps = connection.prepareStatement("INSERT INTO DonorDetails (signup_date, remarks, date_processed) values (?,?,?)");
ps.setTimestamp(1, someTimestamp);
ps.setString(2, someRemark);
ps.setNull(3, Types.TIMESTAMP);
這將不那么依賴於所使用的數據庫和驅動程序,並且還解決了諸如插入null(請參閱最后一行)之類的問題。
PS我不知道您的插入內容中的方括號( []
)是什么意思,所以我只猜到了列名
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.