2013-02-10 4 views
0

Je suis un débutant avec Android, et en essayant de créer une base de données. avec une table et trois fonctions ajouter, supprimer, mettre à jour et retrive. Quand j'insère un élément dans la base de données, la clé primaire reçoit un nombre qui est incrémenté à chaque fois .. mais il est inséré dans la base de données comme nul!Android, SQLite .... la clé primaire est insérée comme nulle

donc je ne pouvais pas mettre à jour et supprimer des enregistrements parce que j'ai besoin de l'ID. et pour la reprise, la sortie fonctionne correctement, sauf pour l'ID, elle est nulle.

ici est le schéma

private static final int DATABASE_VERSION = 2; 
private static final String DATABASE_NAME= "alarmapp"; 
private static final String CREATE_alarm= "CREATE TABLE alarm" + 
     " (Aid integer PRIMARY KEY NOT NULL AUTOINCREMENT," + 
     "message varchar(100)," + 
     "date varchar(100));"; 

et est ici le code d'insertion:

 // culums 
     private static final String AI = "Aid"; 
     private static final String Message= "message"; 
     private static final String Date = "date"; 


     //tables 
     private static final String TABLE_NAME= "alarm"; 


    private Context context; 
     private DatabaseHelper dbhelper; 
     private SQLiteDatabase database; 

     public long add(String message, String date){ 
    ContentValues values= new ContentValues(); 

    values.put(Message,message); 
    values.put(Date, date); 

    return database.insert(TABLE_NAME, null,values); 
      } 

Répondre

4
+0

le lien n'est pas utile que mon code est comme il :) merci – proG

+0

@proG votre clé integer NOT NULL AUTOINCREMENT' est bizarre (sqlite3 le détecte comme erreur de syntaxe ici), et ce n'est pas tout à fait le " correct "exemple dans le lien posté par @ utilisateur1122549. –

+0

@AntonKovalenko oh mon mauvais: $ .. merci, vous avez raison! – proG

Questions connexes