Ответ 1
Используя DatabaseHelper
, вы можете сделать следующее:
dbHelper = new DatabaseHelper(context);
database = dbHelper.getWritableDatabase();
public void clearTable() {
database.delete(TABLE, null,null);
}
У меня есть WCF-программа, которая предоставляет некоторые данные JSON, а затем я сохраняю ее в локальной базе данных. Работает отлично У меня есть активность, ведьма заполняет данные из локальной базы данных в список, который отлично работает.
public void fillData() {
// Fields from the database (projection)
// Must include the _id column for the adapter to work
String[] from = new String[] { TodoTable.COLUMN_SUMMARY };
// Fields on the UI to which we map
int[] to = new int[] { R.id.label };
getLoaderManager().initLoader(0, null, this);
adapter = new SimpleCursorAdapter(this, R.layout.todo_row, null, from,
to, 0);
lw.setAdapter(adapter);
}
То, что я не могу понять, - это лучший способ удалить все строки перед действием синхронизации из WCF.
Я мог бы сделать это, получив все Id из базы данных, затем найдя URI строки, а затем используйте:
getContentResolver().delete(uri, null, null)
Я просто думаю, что должен быть лучший способ увидеть много примеров в сети, которые используют класс DbHelper, но я не могу понять, как получить доступ к классу dbHelper из Activity или через ContentProvider
Надеюсь, что имеет смысл
Используя DatabaseHelper
, вы можете сделать следующее:
dbHelper = new DatabaseHelper(context);
database = dbHelper.getWritableDatabase();
public void clearTable() {
database.delete(TABLE, null,null);
}
Try
<your-SQLite-instance>.execSQL("DELETE FROM <table_name>");
Это приведет к удалению всех строк из <table_name>
Попробуйте использовать этот код для удаления всех строк в таблице:
database.delete(tablename, null,null);
Просто замените database
для вашего имени db и tablename
для таблицы, в которой вы хотите удалить строки
Если вы просто хотите удалить все строки таблицы:
drop table if exists "tablename"
И затем заново создайте таблицу с соответствующими столбцами. Я лично считаю, что это намного проще.