Запрос базы данных Android - PullRequest
0 голосов
/ 01 ноября 2010

У меня есть приложение, которое загружает данные из Интернета и должно записывать их в БД с помощью контент-провайдера.

private void addCurrency(Currency _currency){
    ContentResolver cr=getContentResolver();

    ContentValues values = new ContentValues();    

    values.put(CurrencyProvider.KEY_DATE, _currency.getDate().getTime());
    values.put(CurrencyProvider.KEY_NAME, _currency.getName());
    values.put(CurrencyProvider.KEY_NOMINAL, _currency.getNominal());
    values.put(CurrencyProvider.KEY_VALUE, _currency.getValue());

    String w=CurrencyProvider.KEY_NAME+" = "+_currency.getName();
    if (cr.query(CurrencyProvider.CONTENT_URI, null, w,null , null).getCount()==0){
        cr.insert(CurrencyProvider.CONTENT_URI, values);
    }else
        cr.update(CurrencyProvider.CONTENT_URI, values, w, null);
}

Итак, я пытаюсь обновить запись, если она существует, или добавитьновый.Но я получаю исключение SQLite: около "доллар": синтаксическая ошибка: при компиляции: SELECT * FROM валюты WHERE (имя = Австралийский доллар)

1 Ответ

1 голос
/ 01 ноября 2010

Попробуйте окружить ваше имя цитатой

String w=CurrencyProvider.KEY_NAME+" = '"+_currency.getName() + "'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...