Вы запрашиваете всю базу данных, сохраняете исходный порядок сортировки и затем выполняете итерацию по каждой строке.Если что-то пустое, обновите его значением выше.
Редактировать: вы можете сделать это с чем-то похожим на это здесь:
SQLiteDatabase db = SQLiteDatabase.openDatabase("myDb.db", null, SQLiteDatabase.OPEN_READWRITE);
Cursor c = db.query("table", null, null, null, null, null, "the column that defines the sort order");
if (c != null) {
int columnCount = c.getColumnCount();
String[] lastValues = new String[columnCount];
while (c.moveToNext()) {
ContentValues cv = new ContentValues();
for (int i = 0; i < columnCount; i++) {
String value = c.getString(i);
if (TextUtils.isEmpty(value)) {
// if that happens on first column you are screwed anyways.
cv.put(c.getColumnName(i), lastValues[i]);
} else {
lastValues[i] = value;
}
// we need to save some id here
}
if (cv.size() > 0) {
// use the id here
db.update("table", cv, "column=?", new String[] { "id" });
}
}
c.close();
}
Но я бы посоветовал вам использовать Excel для исправлениябаза данных.Это проще, и вам не нужно понимать код выше.