Sélectionnez requête pour vérifier l'enregistrement existant dans la base de données SQLite dans Android
-
09-10-2019 - |
Question
Je veux savoir la requête pour vérifier si le dossier particulier dans le DataBase existe déjà ou non pour mon application.
Je l'ai fait une fonction pour ceux-ci, mais il ne fonctionne pas correctement.
public boolean ifExisting(String name) {
Cursor c = db.rawQuery("SELECT * FROM " + TABLE_NAME + "WHERE" + "name" + "=" + name, null);
if(c.getCount() == 0)
return false;
else
return true;
}
Ceci est l'endroit où je dois remplir la fonction de vérification du processus de duplication.
if(dh.ifExisting(dataVector.get(position)) == true) {
} else {
dh.insert(dataVector.get(position));
}
Quelqu'un peut-il me plaît aide.
Merci, david
La solution
Pouvez-vous être un peu plus précis? « Travailler correctement ne » est pas une description réelle de problème.
De toute façon, votre demande manque des espaces:
"SELECT * FROM " + TABLE_NAME + "WHERE" + "name" + "=" + name
// if you would print the string you would get this:
"SELECT * FROM TABLE_NAMEWHEREname=name"
Autres conseils
Première question: votre data.Vector.get(position)
retourne une chaîne comme résultat?
Deuxièmement: si votre rawquery ne fonctionne pas, essayez:
" where " + name + " like '"
+ name + "'", null);
Peut-être que cela pourrait vous aider
Cursor c = db.rawQuery("SELECT * FROM " + TABLE_NAME + "WHERE" + "name" + "=" + name, null);
>TABLE_NAME + "WHERE" + "name"
sera "TablenameWHEREname" au lieu de "Tablename WHERE nom".