Bonjour,
J'ai un souci au niveau de l'ID a spécifier pour une table d'une base de données SQLite.
J'arrive à insérer mon objet en spécifiant l'ID manuellement mais je rencontre des problèmes dans les 2 cas suivants :
-Cas N°1: Mon objet comporte un attribut ID
Je me retrouve bloqué lorsque je crée mon objet sans l'insérer directement en base de données car je ne connais pas l'ID à spécifié dans mon constructeur?. (ex: j'ai déjà 20 entrés dans ma base de données, donc je ne sais pas que je dois spécifié 21 comme ID).
Donc la construction de mon objet échoue ou je me retrouve avec un champ ID null.
-Cas N°2 : Mon objet ne comporte pas de champ ID
Je me retrouve bloqué lorsque je dois faire un traitement(ex:insert) en BDD selon un ID spécifié, car effectivement je ne connais pas le prochain ID libre.
_______________
Quel est la meilleure méthode pour enregistrer un objet en SQLite, définir un attribut ID à l'objet ou pas ?
Toujours concernant cette ID si je le passe en autoincrement, quel est l'interêt d'avoir un objet qui comporte un attribut ID ?
De plus, lorsque je fais un insert, que mon objet ne comporte pas d'attribut ID, et que l'ID de la BDD est en autoincrement. Je met donc mes valeurs dans un ContentValue, mais je n'arrive pas à saisir comment çà se passe au niveau de l'ID ?
contentValues.put(KEY_COL_ID, ?????????);
Je pensais ne pas avoir besoin de le spécifié mais la requête ne fonctionne pas.
Concernant l'ID dans la class de ma Base de données (Helper), suis je obligé de renseigner un INTEGER ? lorsque j'utilise un String (TEXT) çà ne marche pas. J'ai vu certains sur le web qui disait que c'était possible d'autre qui disait non en pointant la documentation de SQLite. pourriez vous me confirmer ? car un String m'arrangerait tellement ...
Voilà, merci pour vos réponses.
PS: j'ai déjà lu et tester les tutoriaux developpez de Vogella et mathias-seguy
Partager