Bonjour ,
j'ai déjà realiser un programme sous android , maintenant je veux ajouter une colonne dans la table existant,par exemple :
- une table a deux colonne( nom et adresse ) ancien table .
- la nouvelle table : nom et adresse et tel (rajouter une colonne tel)
Donc y as deux modifications :
1- changement de la version de la Data base :
public static final int MYDATABASE_VERSION = 3;//ancien vesrion=2
2-
1 2 3 4 5 6 7 8
| @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
if (newVersion > oldVersion)
{
db.execSQL("ALTER TABLE " + MYDATABASE_TABLE + " ADD COLUMN " + KEY_TEL + " integer");
}
} |
Ça fonctionne très bien (j'ai vérifier ma base de donnée a la partie DDMS et j'ai trouver 3 colonnes)
Et puis j'ai rajouter une donnée :
clients.insert("vincant",048578979645);
(Verification database a la partie DDMS --> vincant 048578979645 --> OK )
Mais le programme bug des que je demande de lire une donnée : par exemple :
cursorclients.moveToFirst();
int num;
num=cursorclients.getInt(2); --> Bug ici ( la valeur 2 c'est la 2 colonne (Tel))
Pourqoui ce bug ?
Merci d'avance
Partager