12

我有一个 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 类的示例,但我不知道如何从 Activity 或通过 ContentProvider 访问 dbHelper 类

希望这有任何意义

4

4 回答 4

31

使用DatabaseHelper你可以这样做:

 dbHelper = new DatabaseHelper(context);
 database = dbHelper.getWritableDatabase();

public void clearTable()   {
    database.delete(TABLE, null,null);
}
于 2013-10-04T14:11:07.543 回答
6

尝试

<your-SQLite-instance>.execSQL("DELETE FROM <table_name>");

这将删除所有行<table_name>

于 2013-10-04T14:07:11.223 回答
2

尝试使用此代码删除表中的所有行:

database.delete(tablename, null,null);

只需替换database您的数据库名称和tablename要删除行的表

于 2017-03-13T12:33:35.460 回答
-1

如果您只想删除表上的所有行:

drop table if exists "tablename"

然后使用适当的列重新创建表。我个人觉得这样做更容易。

于 2013-10-04T14:07:08.553 回答