ANDROID SQLITE检查表是否有数据

时间:2013-01-28 16:46:09

标签: android sqlite

我想检查一下我的桌子是否有记录。这是我尝试过的:

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 个答案:

答案 0 :(得分: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 )游标在执行任何查询后也不会返回空值,所以这样做是为了检查游标之后的数据计数

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我认为您正在寻找方法getCount()

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

答案 3 :(得分:0)

if(cursor.moveToFirst()){
//do your work
}
else{
 Toast.makeText(getBaseContext(), "No records yet!", Toast.LENGTH_SHORT).show();
}