我已经做了很多研究,但是无法找到一个适合删除SQLite数据库中所有表的方法。最终,我编写了一段代码来从数据库中获取所有表名,并使用检索到的表名分别进行删除操作。但是,这也没有奏效。
请给我提供一种删除数据库中所有表的方法。
以下是我使用的代码:
public void deleteall(){
SQLiteDatabase db = this.getWritableDatabase();
Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
do
{
db.delete(c.getString(0),null,null);
}while (c.moveToNext());
}
当点击按钮时,会调用名为deleteall()
的函数,其代码如下:
function deleteall()
is called on button click whos code is given as below:
public void ButtonClick(View view)
{
String Button_text;
Button_text = ((Button) view).getText().toString();
if(Button_text.equals("Delete Database"))
{
DatabaseHelper a = new DatabaseHelper(this);
a.deleteall();
Toast.makeText(getApplicationContext(), "Database Deleted Succesfully!", Toast.LENGTH_SHORT).show();
}}