Bonjour,
Suite a plusieurs recherches, je me dirige vers vous pour avoir de l'aide.
j'ai créer une base de donnée et aussi une table dont j'ai vérifier la présence avec SQLite-Manager, je pense que le schéma de la table correspond bien a la requête sql, cependant quand j'essaye d'insérer des valeurs dans la table, erreur la colonne password n’existe pas !
Ceci est le code (classe UserSQLiteHelper) pour généré ma table que j'ai vérifier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public static final String DATABASE_FILENAME = "user.db"; public static final int DATABASE_VERSION = 1; public static final String TABLE_NAME = "users"; public static final String ID = "id"; public static final String NOM = "nom"; public static final String PRENOM = "prenom"; public static final String TELEPHONE = "telephone"; public static final String COURRIEL ="courriel"; public static final String LOGIN="login"; public static final String PASSWORD="password"; public static final String CREATE_TABLE="CREATE TABLE IF NOT EXISTS "+TABLE_NAME+" (" +ID+" INTEGER PRIMARY KEY," +NOM+ " VARCHAR(50) NOT NULL, " +PRENOM+ " VARCHAR(50) NOT NULL, " +TELEPHONE+" INTEGER(11) NOT NULL, " +COURRIEL+ " VARCHAR(50) NOT NULL, " +LOGIN+ " VARCHAR(50) NOT NULL, " +PASSWORD+ " VARCHAR(50) NOT NULL );"; public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub* //Log.i("database", "prepare creation"); db.execSQL(CREATE_TABLE); //Log.i("database", "created"); }
Ceci est ma classe DAO (UserDAO) qui implémente la méthode createUser(User user):
et enfin voici l'activité qui recupère les valeurs saisie dans le formulaire et fait appel a la fonction qui insert dans la base de donnée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 private static SQLiteDatabase database; private UserSQLiteHelper dbHelper; private String[] allColumns = {UserSQLiteHelper.NOM,UserSQLiteHelper.PRENOM, UserSQLiteHelper.TELEPHONE, UserSQLiteHelper.COURRIEL,UserSQLiteHelper.LOGIN, UserSQLiteHelper.PASSWORD }; public UserDAO(Context context) { this.dbHelper = new UserSQLiteHelper(context); } public void open() throws SQLException { database = dbHelper.getWritableDatabase(); } public void close() { dbHelper.close(); } public static boolean createUser(User user) { ContentValues values = new ContentValues(); //values.put(UserSQLiteHelper.ID, user.getId()); values.put(UserSQLiteHelper.NOM, user.getNom()); values.put(UserSQLiteHelper.PRENOM, user.getPrenom()); values.put(UserSQLiteHelper.TELEPHONE, user.getTelephone()); values.put(UserSQLiteHelper.COURRIEL, user.getCourriel()); values.put(UserSQLiteHelper.LOGIN, user.getLogin()); values.put(UserSQLiteHelper.PASSWORD, user.getPassword()); try{ long insert = database.insert(UserSQLiteHelper.TABLE_NAME,null, values); if (insert==-1)return false; } catch (Exception e) { Log.e("Insertion", e.getMessage()); } return true; }
En utilisant le Debugger j'ai pu vérifier que les valeurs de User(nom,prenom,....) existent bien !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 String nom=getIntent().getStringExtra("nom"); String prenom=getIntent().getStringExtra("prenom"); int telephone=Integer.valueOf(getIntent().getStringExtra("telephone")); String courriel=getIntent().getStringExtra("courriel"); String login=getIntent().getStringExtra("login"); String pw=getIntent().getStringExtra("pw"); User user = new User(); user.setNom(nom); user.setPrenom(prenom); user.setTelephone(telephone); user.setCourriel(courriel); user.setLogin(login); user.setPassword(pw); UserDAO DAO = new UserDAO(CreateActivity.this); DAO.open(); if(UserDAO.createUser(user)==true) Toast.makeText(getApplicationContext(), "USER CREER !!", Toast.LENGTH_SHORT).show(); else Toast.makeText(getApplicationContext(), "CREATION ECHOUEE", Toast.LENGTH_SHORT).show(); DAO.close();
Voila j'espère avoir été clair, et j'attends vos réponses car je galère.
Partager