2013-10-01 3 views
3

Я разрабатываю приложение для Android, где я хочу обновить столбец в строке на основе предложения where, которое состоит из двух значений. Ниже я попытался.Sqlite обновить столбец на основе where where android

public void setlocationsetcolumn(double lats , double longs, String setvalue) 
{ 
    SQLiteDatabase db = this.getWritableDatabase(); 
    ContentValues values = new ContentValues(); 

    values.put(Loc_set, setvalue); 

    db.update(TABLE_LATLONG, values, " WHERE "+Loc_lati +" = " + lats+" AND "+Loc_longi+" = "+longs, null); 
} 

я тусклый, чтобы обновить Loc_set, основываясь на латах & лонги значения. но я приближаюсь к силе. Я делаю что-то неправильно здесь. Пожалуйста, помогите. Спасибо!

+1

опубликуйте свои журналы! –

+0

«force close» означает, что существует неперехваченное исключение. См. Logcat для полезной трассировки стека. В этом случае, по крайней мере, ключевое слово 'WHERE' должно быть опущено. – laalto

+0

вы должны опубликовать журнал – MariusBudin

ответ

12

ниже фрагмент поможет вам.

String[] args = new String[]{lats, longs}; 
db.update(TABLE_LATLONG, values, "Loc_lati=? AND Loc_longi=?", args); 
+0

Спасибо, это работает! – Dave

2

Удалить WHERE String. Попробуйте это:

db.update(TABLE_LATLONG, values, Loc_lati +" = " + lats+" AND "+Loc_longi+" = "+longs, null); 

Однако, я не знаю, что loc_lati и loc_longi являются, мы надеемся столбцов в БД.

+2

. Вы должны обязательно пойти с ответом, данным Vipul Shah, используя аргументы. – hordurh

1
String[] args = new String[]{lats, longs}; 
db.update(TABLE_LATLONG, values, "Loc_lati=? AND Loc_longi=?", args); 

Вы можете использовать эту логику для обновления таблицы.

Смежные вопросы