Выберите запрос, чтобы проверить существующую запись в базе данных SQLite в Android - PullRequest
0 голосов
/ 13 декабря 2010

Я хочу знать запрос, чтобы проверить, существует ли конкретная запись в базе данных для моего приложения или нет.

Я сделал для них одну функцию, но она не работает должным образом.

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

Это место, где мне нужно выполнить функцию проверки процесса дублирования.

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

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

Может кто-нибудь, пожалуйста, помогите мне.

Спасибо, Дэвид

Ответы [ 3 ]

1 голос
/ 13 декабря 2010

Можете ли вы быть более конкретным? «не работает должным образом» не является реальным описанием проблемы.

В любом случае в вашем запросе отсутствуют пробелы:

"SELECT * FROM " + TABLE_NAME + "WHERE" + "name" + "=" + name
// if you would print the string you would get this:
"SELECT * FROM TABLE_NAMEWHEREname=name"
0 голосов
/ 13 декабря 2010
Cursor c = db.rawQuery("SELECT * FROM " + TABLE_NAME + "WHERE" + "name" + "=" + name, null); 


>TABLE_NAME + "WHERE" + "name"

будет "TablenameWHEREname" вместо "Tablename WHERE name".

0 голосов
/ 13 декабря 2010

Первый вопрос: ваш data.Vector.get(position) возвращает строку в качестве результата? Второе: если ваш запрос не работает, попробуйте:

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

Может быть, это может помочь вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...