【发布时间】:2014-01-30 13:07:59
【问题描述】:
我希望我的用户能够重置应用程序,然后我需要重置我创建的 SQLite 数据库。 我怎样才能做到这一点?我想重置数据库或删除并重新创建数据库。
【问题讨论】:
-
不要全部删除,而是从数据库中清除所有表数据。
标签: android sqlite android-sqlite
我希望我的用户能够重置应用程序,然后我需要重置我创建的 SQLite 数据库。 我怎样才能做到这一点?我想重置数据库或删除并重新创建数据库。
【问题讨论】:
标签: android sqlite android-sqlite
只需删除您的数据库
context.deleteDatabase(DATABASE_NAME);
请确保在删除之前关闭您的数据库。
【讨论】:
onCreate调用创建数据库脚本
有点晚了,但这可以帮助其他人
public void clearDatabase(String TABLE_NAME) {
String clearDBQuery = "DELETE FROM "+TABLE_NAME;
db.execSQL(clearDBQuery);
}
这应该从表中删除所有行,请参阅 SQLite 数据库 here 的文档!
【讨论】:
为我工作。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS TABLE_NAME");
onCreate(db);
}
【讨论】:
只需从数据库中删除表
db.execSQL("DROP TABLE "+TABLENAME);
然后再次在同一个数据库中创建表。
【讨论】:
您可以使用delete from table where 1=1删除所有表的内容,也可以再次调用您的数据库onCreate方法
【讨论】:
有两个选项可以从数据库中清除表
首先
如果要删除特定行的数据,则需要在数据库类中添加此代码
public Boolean specification(int id, String table_name)
{
return db.delete(table_name, KEY_ID + "=" + id, null) > 0;
}
并在您要执行此操作时添加以下代码
db.deleteSpecificOrder(id, "table_orders");
其次
如果您想从表中删除所有数据,那么您只需将以下代码添加到您的数据库中
public void clearDatabase(String TABLE_NAME) {
db = this.getReadableDatabase();
String clearDBQuery = "DELETE FROM " + TABLE_NAME;
db.execSQL(clearDBQuery);
}
然后在您要执行该操作的位置添加以下行
db.clearDatabase("table_food_items");
希望对你有帮助
【讨论】: