Sélectionnez une requête dans sqlite sous android avec deux valeur dans la clause where
je veux écrire une requête en sqlite pour android dans lequel je souhaite obtenir une valeur sur la base de deux valeurs de cette ligne.Comment puis-je le faire?
j'ai la requête suivante pour obtenir la valeur est basée sur une valeur:
cursor = db.query(TABLE_NAME,new String[] {NAME}, ROLL_NO + " like" + "'%"
+ roll + "%'", null, null, null, null);
Vous devez vous connecter pour publier un commentaire.
essayer cette
cursor = db.query(TABLE_NAME,new String[] {NAME}, ROLL_NO + " like" + "'%" + roll + "%' **OR** ", null, null, null, null)
ajouter votre deuxième alinéa après l' OU dans la requête ci-dessus
BTW. Les gars, avez-vous pensé à la DB de sécurité (attaques par injection SQL)? Si
roll
est qch qui les entrées de l'utilisateur ou de vous l'obtenir à partir d'une potentiellement "dangereux" de la source (fichier ou d'un réseau), alors je vous recommande de réécrire le code de la manière suivante:Faire de cette façon, la DB va "traiter" la
roll
valeur avant l'exécution de la requête pour s'assurer que la valeur est sûr à utiliser. La valeur sûre sera ensuite inséré à la place de la?
char dans laROLL_NO + " like " + "'%?%'"
déclaration.Grâce. Le code suivant a fonctionné pour moi:
Cela représenterait my sql:
sélectionnez santé de mytablename où temp='2.5' et profondeur='50';
hmmm....
Je suppose que je pourrais le faire plus propre avec int et/ou double, à l'aide de = au lieu de comme.
Sa simplicité d'essayer cette actid,cusid est une chaîne et FF_CUSTOMER_ID,FF_ACTIVITY_ID est le nom de la colonne
Curseur curseur = db.rawQuery("select * from" + TABLE_PROJECT_ACTIVITY_CHECKLIST +" where "+ FF_ACTIVITY_ID + " = ? ET "+ FF_CUSTOMER_ID + " = ? ", new String[] { actid,cusid});