我使用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则打印日志??
请任何人解决我的麻烦吗?答案 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”。