Je veux vérifier une piqûre (ici la date) dans la colonne de base de données START_TIME en utilisant comme opérateur android. Comme disons START_TIME = "09-09-2014, 11:33:01" et date = "09-09-2014" je veux prendre les autres colonnes comme DURATION dans la valeur START_TIME dans la colonne.comment utiliser "comme" opérateur dans android?
Voici mon code:
public String getDuration(String date){
SQLiteDatabase db=dbHelper.getWritableDatabase();
String[] columns={DatabaseCreate.DURATION};
String[] selectionArgs = {date};
Cursor cursor=db.query(DatabaseCreate.USER_WORK_LOG, columns,
DatabaseCreate.START_TIME+"=?%",selectionArgs,null,null,null);
String duration="";
int myNum = 0;
while(cursor.moveToNext()){
int index=cursor.getColumnIndex(DatabaseCreate.DURATION);
duration=cursor.getString(index);
//int index1=cursor.getColumnIn
try {
myNum += Integer.parseInt(duration);
} catch(NumberFormatException nfe) {
// Handle parse error.
}
}
int min = myNum%60;
int hour = myNum/60;
String hour_str = Integer.toString(hour);
String min_str = Integer.toString(min);
if(min<=9){
min_str = "0"+min;
}
if(hour<10){
hour_str = "0"+hour;
}
return hour_str+":"+min_str;
}
Je reçois cette erreur: Provoquée par: java.lang.IllegalArgumentException: Impossible de lier l'argument à l'index 1 car l'index est hors limites. L'instruction a 0 paramètre. – Niranjan
Voir la réponse éditée où les éléments selectionArgs sont annulés et le paramètre est passé dans la requête. –