Android 无法从游标窗口读取第0行第1列
我试图以最简单的方式获取数据库中的条目数 我尝试使用rawQuery从学生中选择Count*,然后从游标中选择getInt方法来获取数字,稍后再使用它 这是我的方法Android 无法从游标窗口读取第0行第1列,android,android-cursor,Android,Android Cursor,我试图以最简单的方式获取数据库中的条目数 我尝试使用rawQuery从学生中选择Count*,然后从游标中选择getInt方法来获取数字,稍后再使用它 这是我的方法 public int getNumberOfEntries() { SQLiteDatabase db = helper.getWritableDatabase(); String query = ShaqedDB.NUMBER_OF_ENTRIES; Cursor d = db.ra
public int getNumberOfEntries() {
SQLiteDatabase db = helper.getWritableDatabase();
String query = ShaqedDB.NUMBER_OF_ENTRIES;
Cursor d = db.rawQuery(query, null);
d.moveToFirst();
while (!d.isAfterLast()) {
int numberReturned = d.getInt(0);
d.moveToNext();
return numberReturned;
}
return 0;
}
我到处都找过了-我找不到一个解决方案来解释为什么我总是得到游标错误,游标无法读取第0行,第1列。。。即使我认为如果您不需要编写,我会将其指向col 0,但您应该使用getReadableDatabase;而不是getWritableDatabase;。在 0是要检索值的列的索引。不要硬编码值。要求光标检索列索引
d.getInt(d.getColumnIndexOrThrow("COLUMN_NAME"));
关于您的查询,您现在需要查看查询返回的结果数。您可以通过询问光标的计数来检索此值:
public int getNumberOfEntries() {
SQLiteDatabase db = helper.getReadableDatabase();
String query = ShaqedDB.NUMBER_OF_ENTRIES;
Cursor d = db.rawQuery(query, null);
return d.getCount();
}
嘿,老兄,我试着改成ReadableDatabase和getColumn,但我一直得到相同的错误…-只是想澄清一下-我只想知道我的表有多少个条目行,并用StudentsHanks Blackbelt提供的SELECT*为ittry返回一个“int”值。我改变了处理这个问题的方法,它起了作用。欢迎您。那么你介意接受这个答案吗??
public int getNumberOfEntries() {
SQLiteDatabase db = helper.getReadableDatabase();
String query = ShaqedDB.NUMBER_OF_ENTRIES;
Cursor d = db.rawQuery(query, null);
return d.getCount();
}