Wählen Sie Abfrage den vorhandenen Datensatz in der SQLite-Datenbank in Android zu überprüfen
-
09-10-2019 - |
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
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".