Sélectionnez requête pour vérifier l'enregistrement existant dans la base de données SQLite dans Android

StackOverflow https://stackoverflow.com/questions/4427187

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

Était-ce utile?

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".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top