3

我想检查我的表是否有记录。这是我尝试过的:

if( cursor != null ){
        cursor.moveToFirst();
        if (cursor.getInt(0) == 0) {
        Toast.makeText(getBaseContext(), "No records yet!", Toast.LENGTH_SHORT).show();
        }
    }

Logcat 说:

  CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0

任何帮助表示赞赏。谢谢。

4

4 回答 4

1

试试这个

cursor.getCount();

如果光标检索数据计数,它将返回如果这给 0 则没有数据

所以

if(cursor != null && cursor.getCount()>0){
   cursor.moveToFirst();
   //do your action
   //Fetch your data

}
else {
 Toast.makeText(getBaseContext(), "No records yet!", Toast.LENGTH_SHORT).show();
    return;
}  

注意:即使您if( cursor != null )在进行任何查询后检查游标也不会返回空值,因此请执行此操作以检查游标中的数据计数

于 2013-01-28T16:51:22.223 回答
0

Cursor.getCount()将为空结果集返回 0。

于 2013-01-28T16:48:11.177 回答
0

我想你正在寻找方法getCount()

只需检查cursor.getCount()==0空结果。

于 2013-01-28T16:49:20.663 回答
0
if(cursor.moveToFirst()){
//do your work
}
else{
 Toast.makeText(getBaseContext(), "No records yet!", Toast.LENGTH_SHORT).show();
}
于 2013-01-28T16:49:53.777 回答