【发布时间】:2013-12-28 08:23:16
【问题描述】:
在我想要传递标题名称以在 sqlite 数据库中检查它的活动中,如果标题存在则返回“无法使用”,否则返回“可以使用”。但是我的数据库有些问题,我得到“空指针异常”。你能帮我吗,因为我是新人。谢谢
这是我的活动代码
//check title name
BookEntry title = db.getTitle(str);
if(title == null){
Toast.makeText(context, title.getTitle(), Toast.LENGTH_LONG).show();
}else{
Toast.makeText(context, title.getTitle(), Toast.LENGTH_LONG).show();
}
这是我在数据库解决方案中的代码
//get title name where = str
public BookEntry getTitle(String str){
BookEntry book = null;
Cursor cursor = db.rawQuery("SELECT title FROM " +
BooksDBHelper.TABLE_BOOK + " WHERE "
+BooksDBHelper.KEY_TITLE + " = ? ",
new String[]{str});
cursor.moveToFirst();
if(cursor.getCount()!=0){
book = new BookEntry();
book.setTitle("can't use");
}else{
book.setTitle("can use");
}
return book;
}
这是 logcat 错误
12-28 15:06:46.016: E/AndroidRuntime(9889): FATAL EXCEPTION: main
12-28 15:06:46.016: E/AndroidRuntime(9889): java.lang.NullPointerException
12-28 15:06:46.016: E/AndroidRuntime(9889): at mutitablesql.db.BooksDB.getTitle(BooksDB.java:90)
12-28 15:06:46.016: E/AndroidRuntime(9889): at mainactvity.MainActivity$1$1.onClick(MainActivity.java:112)
12-28 15:06:46.016: E/AndroidRuntime(9889): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
12-28 15:06:46.016: E/AndroidRuntime(9889): at android.os.Handler.dispatchMessage(Handler.java:99)
12-28 15:06:46.016: E/AndroidRuntime(9889): at android.os.Looper.loop(Looper.java:137)
12-28 15:06:46.016: E/AndroidRuntime(9889): at android.app.ActivityThread.main(ActivityThread.java:4921)
12-28 15:06:46.016: E/AndroidRuntime(9889): at java.lang.reflect.Method.invokeNative(Native Method)
12-28 15:06:46.016: E/AndroidRuntime(9889): at java.lang.reflect.Method.invoke(Method.java:511)
12-28 15:06:46.016: E/AndroidRuntime(9889): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
12-28 15:06:46.016: E/AndroidRuntime(9889): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
12-28 15:06:46.016: E/AndroidRuntime(9889): at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
没事的兄弟
-
空指针在哪里调试并告诉我们
-
你在哪里得到空指针异常?发布日志
-
请在我的编辑问题中再次检查
-
@user3001046 请给答案投票
标签: android sqlite nullpointerexception