Burn2 Posted October 8, 2010 Share Posted October 8, 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? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.