Я создавал базу данных и удалял ее, без каких-либо проблем добавляя реестры в свою базу данных android htc mobile sqlite.
Но теперь, после последнего удаления базы данных, каждый раз, когда я хочу создать новую, я получаю исключение sqlite, которое говорит мне, что «невозможно открыть файл базы данных» со следующими данными:
serialVersionUID (RuntimeException) = -7034897190745766939
причина = SQLiteException (id = 830058513528)
причина = SQLiteException (id = 830058513528)
detailMessage = "невозможно открыть файл базы данных" (id = 830058513560)
stackState = (id = 830058513672)
stackTrace = null
Это мой код для создания базы данных:
private static String DB_PATH = "/data/data/Android.Applications/databases/testdatabase.db";
public void OpenDataBase(){
SQLiteDatabase ApplicationDB = null;
//Si existe la base de datos
if(checkDataBase())
{
//Open readonlymode
String myPath = DB_PATH;
//open database as readwrite mode
ApplicationDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);
}
else
{
try
{
String myPath = DB_PATH ;
ApplicationDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.CREATE_IF_NECESSARY);
CreateTables();
//create all the necessary tables
System.out.println("DataBASE CREATED");
}
catch(SQLiteException e)
{
System.out.println("SQL LiteException"+ e.getMessage());
}
}
}
private boolean checkDataBase(){
try{
String myPath = DB_PATH;
ApplicationDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
}catch(SQLiteException e){
//database does't exist yet.
}
if(ApplicationDB != null){
ApplicationDB.close();
}
return ApplicationDB != null ? true : false;
}
А это код для удаления базы данных
public boolean DeleteDatabase()
{
boolean wasdeleted;
try
{
File file=new File(DB_PATH);
wasdeleted=file.delete();
}
catch(SecurityException e)
{
wasdeleted=false;
}
return wasdeleted;
}
Не могли бы вы мне помочь? я застрял здесь, потому что этот код работает несколько часов назад ...
Спасибо заранее.
С уважением.
Хосе.