[英]How to get date value from SQLite in java
我的數據庫中有一個簡單的表:
CREATE TABLE [InformacjeZDziekanatu] (
[_id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
[DataWstawienia] DATE NOT NULL,
[DataModyfikacji] DATE NOT NULL,
[Tresc] VARCHAR2 NOT NULL);
在我的應用程序中,我唯一想做的就是獲取DataWstawienia
列的值。 我正在使用這樣的方法:
try {
ResultSet result = stat.executeQuery("select * from InformacjeZDziekanatu order by _id desc limit 5");
int id;
Date dataWst;
Date dataMod;
String tresc;
for(int j = 0 ; j < 5 ; j++) {
result.next();
Object[] lista = new Object[4];
id = result.getInt("_id");
dataWst = result.getDate("DataWstawienia");
dataMod = result.getDate("DataModyfikacji");
tresc = result.getString("Tresc");
lista[0] = id;
lista[1] = dataWst;
lista[2] = dataMod;
lista[3] = tresc;
dane[j] = lista;
}
}
DataWstawienia
列中的所有日期都是今天的日期,但是使用上述方法,我一直都得到1970-01-01的日期。
我做錯了什么?
SQLIte沒有DATE數據類型。 日期需要存儲為整數(自Unix紀元開始使用以來的秒數)或ISO 8601時間(例如2013-10-01T12:12:12)。 如果您在SQLite模式中說DATE
,則將值存儲為字符串。 將dateWst
的類型dateWst
為String
解決方案確認了以下事實:您將日期存儲為字符串而不是內部日期類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.