BaseAdapter中的SQLiteDatabase.openDatabase失败,但openOrCreateDatabase在Activity中正常工作

时间:2013-09-20 05:07:42

标签: android

我在Activity的onCreate方法中创建我的数据库。在此活动中,我可以添加记录,我可以查询记录。如果有我的查询产生的记录,我将它们添加到自定义ListView,因此BaseAdapter类。 ListView包含两个TextView和一个删除按钮。单击按钮时,我希望能够从数据库中删除记录,但我似乎无法打开数据库。我试图像这样打开数据库......

db = SQLiteDatabase.openDatabase(com.red.myApp.Utils.database_name, null, Context.MODE_PRIVATE);

...这在logcat中失败了......

09-19 21:56:15.825: I/Database(4773): sqlite returned: error code = 14, msg = cannot open file at source line 25467
09-19 21:56:15.825: E/Database(4773): sqlite3_open_v2("BookMarksV20.db", &handle, 2, NULL) failed

那是什么交易?除了Activity或Service之外,在类的类中使用SQLite是不是很明显?我在这做错了什么?

感谢您一看:)

1 个答案:

答案 0 :(得分:0)

我希望这对您有用。您必须将此代码放在活动中的create()中。

    dbHelper = new DbHelper(this);
    dbHelper.createDataBase();
    sqLiteDatabase = dbHelper.openDataBase();
相关问题