gpt4 book ai didi

java - 游标.getCount 始终 = 0

转载 作者:行者123 更新时间:2023-11-30 01:21:32 27 4
gpt4 key购买 nike

我需要实现一种算法来访问数据库来检查最后一个元素,以便计算新的元素。当然,第一次这是不可能的,因为数据库是空的,我得到

IndexOutOfBoundsException) index 0 requested with a size of 0

为了避免这种情况,我尝试检查是否 cursor.getCount==0,然后引入默认的第一个元素。问题是,即使我将其存储在数据库中,cursor.getCount 仍然是0。这是我的方法的代码:

public Measures getLastMeasure(String date) {
SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor = db.query(TABLE_MEASURES, new String[] { KEY_ID,
KEY_DATE, KEY_TIME_HOUR, KEY_TIME_MINUTE, KEY_BE_INTAKE,
KEY_GLUCOSE, KEY_BOLUS, KEY_BASAL }, KEY_DATE + "=?",
new String[] { date }, null, null, KEY_TIME_HOUR + " DESC, "
+ KEY_TIME_MINUTE + " DESC", "1");
if (cursor.getCount() == 0) {
Measures m = new Measures("nodate", 0, 0, 0, 0, 0, 0);
return m;
} else {
if (cursor != null)
cursor.moveToFirst();

Measures m = new Measures(Long.parseLong(cursor.getString(0)), // id
cursor.getString(1), // date
Integer.parseInt(cursor.getString(2)), // timeHour
Integer.parseInt(cursor.getString(3)), // timeMinute
Double.parseDouble(cursor.getString(4)), // BE intake
Double.parseDouble(cursor.getString(5)), // glucose
Double.parseDouble(cursor.getString(6)), // bolus
Double.parseDouble(cursor.getString(7)) // basal

);
// return m
return m;
}
}

希望你能帮助我。预先感谢大家。

最佳答案

我可能会遗漏一些东西,但该代码对我来说看起来是正确的。您确定您要查找的数据确实在数据库中并且您传递给 getLastMeasure() 的参数正确吗?

关于java - 游标.getCount 始终 = 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18474365/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com