Wählen Sie Abfrage den vorhandenen Datensatz in der SQLite-Datenbank in Android zu überprüfen

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

Frage

Ich möchte die Frage wissen, um zu überprüfen, ob die bestimmte Datensatz in der Datenbank bereits vorhanden ist oder nicht für meine Anwendung.

Ich habe eine Funktion für diese gemacht, aber es ist nicht richtig funktioniert.

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;
}

Dies ist der Ort, wo ich die Funktion der Überprüfung für die Duplizierung durchzuführen.

if(dh.ifExisting(dataVector.get(position)) == true) {

} else {
dh.insert(dataVector.get(position));
} 

Kann jemand bitte helfen Sie mir.

Danke, david

War es hilfreich?

Lösung

Können Sie etwas konkreter? „No einwandfrei funktioniert“ ist kein echtes Problem Beschreibung.

Wie auch immer, Ihre Abfrage fehlt einige Räume:

"SELECT * FROM " + TABLE_NAME + "WHERE" + "name" + "=" + name
// if you would print the string you would get this:
"SELECT * FROM TABLE_NAMEWHEREname=name"

Andere Tipps

Erste Frage: Ihre data.Vector.get(position) gibt einen String als Ergebnis? Zweitens: wenn Ihr rawquery nicht funktioniert nicht, dann versuchen Sie:

" where " + name + " like '"
                    + name + "'", null);

Vielleicht könnte Ihnen helfen

Cursor c = db.rawQuery("SELECT * FROM " + TABLE_NAME + "WHERE" + "name" + "=" + name, null); 


>TABLE_NAME + "WHERE" + "name"

wird "TablenameWHEREname" anstelle von "Tablename WHERE name".

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top