全部! 我的代码: 此方法需要检查当前日期,如果它被更改,它会在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后关闭了游标。而在另一个代码中,我真的使用循环。但在这段代码中,我只需要获取关于当前日期的现有行的信息。 –