Burn2 Posté(e) 8 octobre 2010 Share Posté(e) 8 octobre 2010 Bonjour à tous et toutes, j'ai un petit problème dans l'accès de mes données. Voici le contexte: J'ai une base de donnée crée de la sorte: //Time private static final String TABLE_TIME="table_time"; private static final String TIME_ID="time_id"; private static final String TIME_REF_PROFILE="ref_profile"; private static final String TIME_DAY="day"; private static final String TIME_TIME="time"; private static final String TIME_SEARCH_KEY="search_key"; //line to create the database: private static final String TIME_QRY_CREATE="create table " + TABLE_TIME + " (" + TIME_ID + " integer primary key autoincrement, " + TIME_REF_PROFILE + " integer, " + TIME_DAY + " integer, " + TIME_TIME +" integer, " + TIME_SEARCH_KEY + " integer);"; Voici la requête qui ne me donne pas le résultat escompté: public MTime getNextMTime(MTime mtime) { Cursor c = m_db.query(TABLE_TIME, new String []{TIME_ID, TIME_REF_PROFILE,TIME_DAY,TIME_TIME,TIME_SEARCH_KEY},TIME_REF_PROFILE + " = " + mtime.getRefProfile() + " AND "+ TIME_SEARCH_KEY + " > " + mtime.getSearchKey(), null, null, null, TIME_SEARCH_KEY); MTime mtime2; Log.d("Sleepytux", ">>>count: "+c.getCount()); if (c.getCount()>0) { c.moveToFirst(); mtime2= new MTime (c.getInt(TIME_ID_NB),c.getInt(TIME_REF_PROFILE_NB),c.getInt(TIME_DAY_NB),c.getInt(TIME_TIME_NB)); } else mtime2=null; c.close(); return mtime2; } En fait, si la sélection par "TIME_REF_PROFILE + " = " + mtime.getRefProfile()" marche bien, cette partie là: "TIME_SEARCH_KEY + " > " + mtime.getSearchKey()" Me renvoie des choses absurdes. J'ai vérifié le TIME_searchkey que je passe en paramêtre, c'est une composante construite de la sorte: ///help: there is 86400000ms in one day so searchtime is: day *100000000 + time in ms Qui me sort normalement à faire des recherche et donc le premier chiffre est le jour. Donc vous l'aurez compris, si je fais ma recherche à partir de mercredi je ne dois retrouver que ce qui correspond à mercredi/jeudi/vendredi/samedi Sauf que là il arrive à me sortir un résultat absurde de (je prends des exemples faux mais qui montre le principe) 30000> 60000 Je suis censé rajoute des ' ' autour de mes chiffres ou il y a un autre problème que ça? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.