Sujet: Problème base de donnée SQLite
Bonjour à tous,
Je tiens juste à préciser avant de vous expliquez mon problème que je débute en programmation android et que j'ai essayé de faire des recherches sur le web avant de poster ce sujet.
J'ai créé une base de donnée dans une classe java comme ceci :
(je l'ai simplifié au maximum pour faire des tests)
package com.google.android.sport;
import android.content.Context;
...
public class Base_De_Donnee_Utilisateur extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "DBUser.db";
private static final int DATABASE_VERSION = 1;
private static final String CREATE_SQL = "CREATE TABLE tableUser (NOM TEXT PRIMARY KEY);";
private static final String DROP_SQL="DROP TABLE IF EXISTS tableUser;";
public Base_De_Donnee_Utilisateur(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_SQL);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(DROP_SQL);
onCreate(db);
}
}Puis j'ai une classe qui doit insérer un utilisateur dans la classe "tableUser"
package com.google.android.sport;
import java.sql.Date;
...
public class Ajout_Utilisateur extends Activity {
private SQLiteOpenHelper dbHelper;
private SQLiteDatabase dbUser;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page_ajoute_utilisateur);
open();
long retourInsert = ajouteUtilisateur(nom, prenom, dateNaissance, taille, poids, niveau);
String retourInsertString = new Long(retourInsert).toString();
TextView tv = (TextView)findViewById(R.id.retour_ajou_utilisateur);
tv.setText("Retour insertion : "+retourInsertString);
close();
}
public void open() throws SQLException {
dbHelper = new Base_De_Donnee_Utilisateur(this);
dbUser = dbHelper.getWritableDatabase();
}
public void close() {
dbHelper.close();
}
public long ajouteUtilisateur(String nom, String prenom, Date dateNaissance, int taille, int poids, int niveau) {
ContentValues values = new ContentValues();
values.put("NOM", "testNom");
return dbUser.insert("tableUser", null, values);
}
}Donc théoriquement le code affiche à l'écran dans un textView la valeur de retour de l'insertion de l'utilisateur. Si c'est réussi le résultat doit être égal a 1 et moi je me retrouve toujours avec -1 (donc erreur). Le but final étant ensuite de pouvoir exécuter différentes requêtes SQL sur la table.
J'aimerais savoir se que je fait mal dans mon code svp ???
Je vous remercie d'avance pour vos réponses.
Bonne Soirée
Modifié pour la dernière fois par Zeph (26/11/2009 18:35:33)




