несколько столбцов в where, где дается синтаксическая ошибка

98
15

Я столкнулся с проблемой при обновлении таблицы с несколькими столбцами в разделе db.update в sqlite.

Ниже я попытался, но не принял и не показал синтаксическую ошибку.

db.getWritableDatabase().update(tablename, update((buy+dupbuy)), (column2+"=? and"+ column3+"=?"),(new String[] {getdate}+" and"+new String[] {stockname}));

В приведенном выше запросе

Первый параметр - это имя таблицы, которое нужно обновить. второй параметр - это значение, которое нужно обновить, что укажет на другой метод обновления класса, где я написал значения содержимого для обновления таблицы Основная третья часть - это параметры, которые мне нужно передать в разделе where.

но давая синтаксическую ошибку

The method update(String, ContentValues, String, String[]) in the type SQLiteDatabase is not applicable for the arguments (String, ContentValues, String, String)

Пожалуйста, помогите мне в объявлении нескольких столбцов в разделе where.

Спасибо за ваше время.

спросил(а) 2021-01-19T17:54:10+03:00 2 месяца, 3 недели назад
1
Решение
61

Попробуйте изменить

db.getWritableDatabase().update(tablename, update((buy+dupbuy)), (column2+"=? and"+ column3+"=?"),(new String[] {getdate}+" and"+new String[] {stockname}));

в

db.getWritableDatabase().update(tablename, update((buy+dupbuy)), (column2+"=? and "+ column3+"=?"),(new String[] {getdate,stockname}));

Добавьте пробел после "and" в WHERE, и вам нужно передать String[] а не String в параметре whereArgs. В настоящее время вы передаете String

ответил(а) 2021-01-19T17:54:10+03:00 2 месяца, 3 недели назад
61

Измените код растяжки:

db.getWritableDatabase().update(tablename, update((buy+dupbuy)), (column2+"=? and"+ column3+"=?"),(new String[] {getdate}+" and"+new String[] {stockname}));

к

db.getWritableDatabase().update( tablename, update(buy+dupbuy), column2 + " = ? and " + column3 + " = ?", new String[]{ getdate, stockname } );

ответил(а) 2021-01-19T17:54:10+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема