Android SQLite:成功查询和失败查询之间的区别?

Android SQLite:成功查询和失败查询之间的区别?,android,sqlite,cursor,Android,Sqlite,Cursor,对于这个模糊的问题很抱歉,但正如主题所述,如果我只有查询结果,我如何判断查询成功还是失败 在尝试获取单行时,我比较了一个成功的查询和一个失败的查询,我注意到唯一的区别是,成功获取行的查询返回的是mCount=1,而另一个查询返回的是mCount=0 编辑: 返回游标的方法 public Cursor getElement(int elementID){ SQLiteDatabase database = this.getReadableDatabase(); Cursor cur

对于这个模糊的问题很抱歉,但正如主题所述,如果我只有查询结果,我如何判断查询成功还是失败

在尝试获取单行时,我比较了一个成功的查询和一个失败的查询,我注意到唯一的区别是,成功获取行的查询返回的是mCount=1,而另一个查询返回的是mCount=0

编辑: 返回游标的方法

public Cursor getElement(int elementID){
    SQLiteDatabase database = this.getReadableDatabase();
    Cursor cursor = database.query(TABLE_NAME, new String[]{COLUMN_NAME_UN_ID, COLUMN_NAME_UN_NAME}, COLUMN_NAME_UN_ID + "=?", new String[]{String.valueOf(elementID)}, null, null, null, null);
    if(cursor != null) {
        cursor.moveToFirst();
    }
    return cursor;
}

如果查询包含语法错误,则会出现异常

如果查询与任何记录都不匹配,您将得到一个空游标

检查
moveTo…()
的结果值,查看光标是否指向移动后的有效行。循环遍历游标的标准方式是

if (cursor.moveToFirst()) {
  do {
    // do something with row data
  } while (cursor.moveToNext());
}
您还可以使用
cursor.getCount()
来获取行数,但从性能角度来看,它不如上面的方法有效


SQLiteDatabase
query()
不会返回
null
所以检查
!=null
是不必要的。

您使用的是什么语言的SQLite?您应该粘贴一段代码,表示如何执行查询以及如何读取结果。@Googie请查看editHmm,这样我就可以检查moveToFirst()是否返回false以检查光标是否失败?如果失败意味着“不包含任何行”,则是。