0

我使用 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 然后打印日志?

请任何人解决我的麻烦?

4

3 回答 3

2

我想你想嵌套这些if块:

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

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

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

于 2012-10-09T15:45:15.060 回答
0

您需要检查光标是否移动

if (cursorinfo.moveToFirst())
{
if value then show data here.
}
else
{
Log here
}
于 2012-10-09T15:43:06.947 回答
0

您试图在空指针上调用 isNull 。if 语句意味着它可以调用 isNull ,除非 mCursor 对象为 null,这将引发 NullPointerException - 这会导致崩溃。尝试在 else 之后删除 if。如果 mCursor 为空,则将记录“空”。

于 2012-10-09T15:43:06.727 回答