Команда обновления базы данных не работает для меня. База данных сохраняет старые значения после выполнения команды обновления.
Я использую SQLite в среде Android Java. Я использую вспомогательный класс Customer для заполнения элементов данных, которые я собираюсь обновить.
package com.cis2237.bingp4;
public class Customer {
private int id;
private String name;
private String airline;
private String status;
private int miles;
public Customer() {}
public Customer(int id, String name, String airline, String status, int miles) {
this.id = id;
this.name = name;
this.airline = airline;
this.status = status;
this.miles = miles;
}
public int getMiles() { return miles; }
public void setMiles(int miles) { this.miles = miles; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public String getAirline() {
return airline;
}
public void setAirline(String airline) {
this.airline = airline;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Вот инструкция обновления в классе моего вспомогательного адаптера базы данных.
// Columns
public static final String COL_ID = "_id";
public static final String COL_NAME = "name";
public static final String COL_AIRLINE = "airline";
public static final String COL_STATUS = "status";
public static final String COL_MILES = "miles";
// Column Indexes
public static final int INDEX_ID = 0;
public static final int INDEX_NAME = INDEX_ID + 1;
public static final int INDEX_AIRLINE = INDEX_ID + 2;
public static final int INDEX_STATUS = INDEX_ID + 3;
public static final int INDEX_MILES = INDEX_ID + 4;
// Edit a customer
public void updateCustomer(Customer customer) {
ContentValues values = new ContentValues();
values.put(COL_NAME, customer.getName());
values.put(COL_AIRLINE, customer.getAirline());
values.put(COL_STATUS, customer.getStatus());
values.put(COL_MILES, customer.getMiles());
mDb.update(TABLE_NAME, values,
COL_ID + "=?", new String[]{String.valueOf(customer.getId())});
}
Я просто заполняю вспомогательный класс столбцами, должным образом обновленными с использованием установщиков классов. Я отладил класс адаптера вспомогательной базы данных, и кажется, что все правильно заполнено правильными обновленными значениями непосредственно перед тем, как код выдает оператор обновления. Я не получаю никаких ошибок.