Android SQLite写错误

时间:2012-01-16 20:07:40

标签: android sqlite

我正在编写一个同时与某些SQLite数据库配合使用的Android应用程序。 此应用程序适用于Mobile Atlas Creator创建的离线地图数据库。我有另一个数据库,其中包含有关这些映射的一些元数据(map_meta_db.sqlitedb)。 所有这些数据库都存储在外部SD卡中。

所有地图数据库文件都已预先填充,因此我使用SQLiteDatabase.OPEN_READONLY标志打开它们。

但是map_meta_db不是只读的,所以我用SQLiteDatabase.OPEN_READWRITE标志打开它。

我已经授权我的应用程序在AndroidManifest.xml中读写外部sd:

uses-permission android:name =“android.permission.WRITE_EXTERNAL_STORAGE”

问题是我可以打开所有数据库并读取他们的数据但是当我想向map_meta_db插入新记录时,没有任何反应!没有例外,没有插入!

try {
    SQLiteDatabase map_meta_db = SQLiteDatabase.openDatabase(pathToMapMetadataDirectory + MAP_METADATA_DATABASE_NAME, null, SQLiteDatabase.OPEN_READWRITE);

    metaDb.rawQuery(insertSql, null);
} catch (Exception e) {
    Log.d(DEBUG_TAG, "While inserting new record, an error occured:" + e.getMessage());
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

也许您应该考虑创建类似SQLiteOpenHelper的东西并创建像这样的数据库:

private SQLiteDatabase database = helper.getWritableDatabase();

其中helper是上面提到的实现SQLiteOpenHelper