全部! 我的代碼: 此方法需要檢查當前日期,如果它被更改,它會在db中創建新記錄。我的基於SQLite的應用程序中的錯誤。使用日期。 Android
public static void updateHintBase(SQLiteOpenHelper database)
{
String currentDate = getDateInString();
SQLiteDatabase db = database.getReadableDatabase();
Cursor cursor = db.query("HINTS",
new String[]{"CURRENT_DATE"},
"CURRENT_DATE = ?",
new String[]{currentDate},
null, null, null);
int countRow = cursor.getCount();
cursor.close();
if (countRow==0)
{
ContentValues values = new ContentValues();
values.put("CURRENT_DATE", currentDate);
values.put("SPENT", 0);
values.put("TOTAL", TOTAL_HINTS);
db.insert("HINTS", null, values);
}
db.close();
}
這種方法轉換日期字符串:
private static String getDateInString()
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(new Date());
return date;
}
表結構:
db.execSQL("CREATE TABLE HINTS (CURRENT_DATE TEXT PRIMARY KEY , "
+ "SPENT INTEGER,"
+ "TOTAL INTEGER);");
但我的代碼不能正常工作。第一次工作,但當日期是改變了我的第一種方法的第二次光標找到元素反正...
例如:
1)今天,2017年1月16日。我的應用程序已執行。一切都很好。
2)今天18.01.2017。我的應用程序已執行,我期望該方法cursor.getCount()將返回給我並創建具有新日期的新行。但它返回給我1.等
謝謝你,我同意你的看法......但是我在得到Count Of Row後關閉了遊標。而在另一個代碼中,我真的使用循環。但在這段代碼中,我只需要獲取關於當前日期的現有行的信息。 –