Я предлагаю вам использовать SQLiteOpenHelper.
Автоматически создается БД, если она недоступна ...
пример кода:
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DB_VERSION = 1;
private static final String DB_NAME = "myDB.db";
public DatabaseHelper(Context ctx) {
super(ctx, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String query = "CREATE TABLE myTable(_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER NOT NULL)";
db.execSQL(query);
db.close();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
...
}
}
Используйте это так:
...
DatabaseHelper helper = new DatabaseHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();
...
Я думаю, что это проще, и вам не нужно заботиться о том, что БД уже существует.
Надеюсь, это поможет:)
EDIT:
У меня есть идея ... может быть, невозможно дать эту строку, как вы делаете ... попробуйте собрать строку раньше.
Как это:
String query = "YOUR SQL STATEMENT";
db.execSQL(query);
db.close();
Есть возможность:)