如果值为null,如何检查游标?

时间:2012-10-09 15:39:09

标签: android sqlite android-sqlite

我使用Sqlite并在Android应用程序中运行。

我有这样的代码:

//get ALL Data
public Cursor getAll() throws SQLException
{
    Cursor mCursor = mDb.query(DATABASE_TABLE, null, null, null, null, null, null);
    if(mCursor != null)
    {
        mCursor.moveToFirst();
    }
    else if(mCursor.isNull(0))
    {
        Log.d("data", "null");
    }
    return mCursor;
}

我的麻烦如果值为null应用程序强制关闭这样的> _<。我想如果值为null则打印日志??

请任何人解决我的麻烦吗?

3 个答案:

答案 0 :(得分:2)

我认为你想嵌套那些if块:

...
if (mCursor != null)
{
     mCursor.moveToFirst();

     if (mCursor.isNull(0))
     {
         Log.d("data", "null");
     }
}
return mCursor;

代码中的else if块仅在mCursor为空时才会运行,在这种情况下mCursor.isNull(0)将引发异常。

答案 1 :(得分:0)

您需要检查光标是否移动

if (cursorinfo.moveToFirst())
{
if value then show data here.
}
else
{
Log here
}

答案 2 :(得分:0)

你试图在空指针上调用isNull。 if语句意味着它工作调用isNull,除非mCursor对象为null,这将抛出NullPointerException - 这会导致崩溃。尝试删除其他后的if。如果mCursor为空,则会记录“null”。