0
我有一個問題得到一個更新查詢中使用下面的代碼工作:Android的SQLite的更新查詢問題
ExternalDbOpenHelper dbOpenHelper = new
ExternalDbOpenHelper(MainBarcode.this, DB_NAME);
database = dbOpenHelper.getWritableDatabase();
String testString = "11";
String Datetime;
Calendar c = Calendar.getInstance();
SimpleDateFormat dateformat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
Datetime = dateformat.format(c.getTime());
try
{
ContentValues values = new ContentValues();
values.put("TIMEOUT",Datetime);
int int1 = Integer.valueOf(testString);
database.update(TABLE_NAME, values, FRIEND_ID + " = ?",new String[] { String.valueOf(testString) });
} catch (Exception e) {
}
database.close();
我的數據庫具有以下列
TABLE_NAME = "LOG"
FRIEND_ID = AUTO INCREMENT NUMBER
FRIEND_TIMEOUT = TIME IN A STRING
我試圖更新列FRIEND_TIMEOUT
與當前時間和日期通過指定Friend_ID
。
身份證號碼是一個字符串,我試圖將它傳遞給更新查詢。
查詢運行但不更新記錄。
任何想法我錯了嗎?
你比較日期的想法作爲字符串,並且您的字符串不是「最重要的第一」排序。因此'2000年5月11日'將測試爲'大於'11月6日'',因爲'm'在字母表中的'j'之後。你永遠不應該在數據庫中存儲日期/時間作爲字符串,特別是當你需要做基於日期的數學/比較時。 –