我正在开发Android应用程序。我必须在我的活动中开发一个xml按钮,并构建我的sqlite数据库和表。如何让用户按下按钮删除表格?感谢。
答案 0 :(得分:38)
没有更多上下文很难回答,但最终的sqlite查询将是:
db.execSQL("DROP TABLE IF EXISTS table_name");
其中db是对SqliteDatabase对象的引用。
答案 1 :(得分:16)
你的问题有些含糊不清。请注意,表格删除与表格 DROPPING 之间存在差异。删除表只会删除其行中的所有数据:
database.delete(TABLE_NAME, null, null);
在此之后,你仍然可以引用该表,因为它仍然存在,但是如果不在sql中使用 CREATE TABLE IF NOT EXISTS 表达式,那么创建一个具有相同名称的新表可能会有问题。
使用 DROP TABLE 会完全删除该表,除非重新创建,否则无法再次引用该表。
正如其他人所指出的,如果您希望将其从数据库中完全删除,这应该有效:
db.execSQL("DROP TABLE IF EXISTS table_Name");
答案 2 :(得分:0)
SQLiteDatabase sdb;
sdb=openOrCreateDatabase("dbname.db", Context.MODE_WORLD_WRITEABLE, null);
sdb.execSQL("DROP TABLE IF EXISTS tablename");
答案 3 :(得分:0)
作为Singleton方法
// todo DELETE a special field(s)
public boolean deleteFromTable(int yurtId) {
SQLiteDatabase database = dbHelper.getReadableDatabase();
final String whereClause = DBHelper.COLUMN_Y_YURT_ID + " =?";
final String whereArgs[] = {String.valueOf(yurtId)};
int affectedRows = database.delete(DBHelper.TABLE_NAME_YEMEKCI, whereClause, whereArgs);
return affectedRows > 0;
}
// todo DELETE all table
public boolean deleteTable() {
SQLiteDatabase database = dbHelper.getReadableDatabase();
int affectedRows = database.delete(DBHelper.TABLE_NAME_YEMEKCI, null, null);
return affectedRows > 0;
}