La difficulté dans la mise à niveau de SQlite table

J'ai une application en cours d'exécution avec une table de travail appelé ANIMAL. Lors de la première création de ce tableau, il consistait simplement à _id et animal_name colonnes.

Maintenant, je suis en train de développer sur elle, y compris un animal_biography colonne, cependant, je vais avoir un peu de difficulté.Au début, j'ai pensé que j'étais juste un cas de mise à jour de mon CREATE_TABLE déclaration d'inclure l'animal bio:

private static final String DATABASE_CREATE = 



            "create table " + ANIMALS_TABLE +

            " (_id integer primary key autoincrement, " + 

            "animal_name text not null, " +

            "biography text not null);"; 

cependant, en regardant le logcat il me dit que la colonne biographie n'existe pas lorsque vous tentez d'insérer en elle.

Maintenant, j'ai essayé de mettre à niveau la base de données à l'aide de la onUpgrade() et y compris le code

db.execSQL("ALTER TABLE" + DATABASE_NAME);
db.execSQL(DATABASE_CREATE);

mais ce n'est pas résoudre le problème. Quelqu'un aurait-il une quelconque des pointeurs sur la façon d'aller sur la résolution de ce problème?

Ok j'ai réussi à trouver une solution au problème. J'avais besoin de supprimer la base de données de l'application, de sorte qu'il serait de créer un tout nouveau tableau de démarrage avec le code révisé, j'ai supprimé la base de données comme suit: Fichier dbFile = getDatabasePath("Path_Name"); dbFIle.delete();
Vous pouvez supprimer le fichier de base de données en utilisant simplement DDMS navigateur de fichiers.

OriginalL'auteur Php Pete | 2011-04-16