簡體   English   中英

在MS Access-的“日期/時間”字段中插入null。

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

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