[英]How do I insert an empty DateTime to a MS Access database?
我的問題是我不知道如何處理空的 LocalDate 對象。
我有一個 Excel 工作表,其中有一個日期列。 格式是這樣的:
19693112 或 00000000(如果日期未知)
在我的 Java 應用程序中,我更改了數據的格式並將其上傳到數據庫。
我首先將字符串轉換為我需要的格式(即 31.12.1969)。
我可以毫無問題地將第一種格式插入到我的數據庫中。 但第二個永遠不會工作,因為我的轉換類將其轉換為 00.00.0000 並且這不被 MS Access 接受。
我已經嘗試將值設置為“null”,但數據庫無法處理日期字段的此值。
有沒有辦法讓數據庫中的值只顯示一個空的日期字段?
謝謝你的幫助。
public static void insertNewPensioners(List<Pensioner> newPensioners) {
if (cell.getColumnIndex() == indexe.get(19)) { //checks if correct excelcell is used
String cellValue = cell.getStringCellValue();
if (cellValue.matches("0+")) {
resignationDate = null;
} else {
resignationDate = DateFormatter.formatDate(cellValue);
}
pensionerExcel.add(new Pensioner(pknr, idkz, resignationDate));
insertNewPensioners(newPensioners);
public static void insertNewPensioners (List < Pensioner > newPensioners) {
try {
connect(pathDB);
} catch (Exception e) {
Alerts.connectionError();
e.printStackTrace();
}
for (int i = 0; i < newPensioners.size(); i++) {
String insert = ("Insert into Pensionär (PKNR, IDKZ, ResignationDate) VALUES " +
"(?,?,?)");
try {
ps = connection.prepareStatement(insert);
ps.setInt(1, newPensioners.get(i).getPensionInsuranceNumber());
ps.setInt(2, newPensioners.get(i).getIdkz());
ps.setDate(3, Date.valueOf(newPensioners.get(i).getResignationDate()));
ps.executeUpdate();
validRows++;
} catch (Exception e) {
Alerts.wrongValues();
e.printStackTrace();
}
}
close();
}
null 會再次給出空指針異常。 他還檢查了一個空字符串,但我想要的是將 00000000“轉換”為空的 LocalDate。 我需要知道如何獲得可以在我的 ms access 數據庫中使用的格式。
但事實是 - 如前所述 - Access 表中的“空日期”為Null - 沒有其他選擇。
所以:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.