亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按日期和時間排序的 android 中的 SQLite 不起作用

按日期和時間排序的 android 中的 SQLite 不起作用

慕田峪4524236 2022-12-15 14:48:20
我目前正在為 android 開發一個應用程序,我正在嘗試獲取我的數據庫中的最后一個條目,該條目由包含帶有日期和時間的字符串的列排序。我的問題是查詢結果總是第一個日期而不是最后一個。我已經嘗試按“日期”、“日期時間”以及“DESC”和“ASC”對我的專欄進行排序。以下是創建包含相關日期的表的查詢private static final String CREATE_TABLE_TIMBRAGE="CREATE TABLE "            + TABLE_TIMBRAGE + "(" + COLUMN_T_TIMBRAGE_PK_TIMBRAGE + " INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL, "            + COLUMN_T_TIMBRAGE_DATETIMBRAGE + " DATETIME NOT NULL, " + COLUMN_T_TIMBRAGE_INOUT + " INT NOT NULL, "            + COLUMN_T_TIMBRAGE_FK_EMPLOYE + " INT NOT NULL, "+ "FOREIGN KEY(" + COLUMN_T_TIMBRAGE_FK_EMPLOYE + ") REFERENCES " + TABLE_EMPLOYE + "("+COLUMN_T_EMPLOYE_PK_EMPLOYE+") "這是我的日期格式化程序SimpleDateFormat FORMATTER=new SimpleDateFormat("dd.MM.yyyy'-'HH:mm:ss", Locale.FRANCE);這是我添加到該表中的方式ContentValues values = new ContentValues();        values.put(COLUMN_T_TIMBRAGE_DATETIMBRAGE, FORMATTER.format(timbrage.getDateTimbrage()));        values.put(COLUMN_T_TIMBRAGE_INOUT, timbrage.getInOut());        values.put(COLUMN_T_TIMBRAGE_FK_EMPLOYE, timbrage.getFK_Employe());        SQLiteDatabase db = this.getWritableDatabase();        db.insert(TABLE_TIMBRAGE, null, values);        db.close();最后這是我的查詢,應該得到最后一個條目String query2 = "Select * FROM " + TABLE_TIMBRAGE + " WHERE " + COLUMN_T_TIMBRAGE_FK_EMPLOYE + " =  \"" + FK_Employe + "\"" + " ORDER BY datetime("+ COLUMN_T_TIMBRAGE_DATETIMBRAGE +") ASC LIMIT 1 ";                Cursor cursor2 = db.rawQuery(query2, null);我得到的結果是“2019 年 5 月 23 日星期四 15:34:58 GMT+02:00”但我應該得到“2019 年 5 月 23 日星期四 15:56:32 GMT+02:00”
查看完整描述

2 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

與其將日期保存為字符串,不如將所述日期轉換為自 1970 年 1 月 1 日以來的毫秒數。這樣,排序非常簡單,比較數字也更有效。然后,您可以在查詢數據時將毫秒數轉換為格式化的日期。



查看完整回答
反對 回復 2022-12-15
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

嘗試這個:

SELECT  * FROM  + YOUR_TABLE_NAME +  ORDER BY + YOUR_DATETIME_COLUMN_NAME + DESC

我有一個建議,你應該使用DATETIME DEFAULT CURRENT_TIMESTAMP作為你的DATETIME列類型。這會DATETIME在您插入或更新行時自動更新。


查看完整回答
反對 回復 2022-12-15
  • 2 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號