2011-03-19 13 views
11

Estoy desarrollando la aplicación de Android. Tengo que desarrollar un botón xml en mi actividad y construir mi base de datos y tablas sqlite. ¿Cómo puedo dejar que el usuario presione un botón para eliminar una tabla? Gracias.En Java, ¿cómo puedo eliminar una tabla sqlite?

+2

Use 'DROP TABLE "nombre_tabla"'. Ejemplo: http://www.kodejava.org/examples/117.html – Margus

+0

Posible duplicado de [SQLite: forma eficiente de eliminar muchas filas] (http://stackoverflow.com/questions/19530419/sqlite-efficient-way -to-drop-lotes-de-filas) – AndroidMechanic

Respuesta

33

difícil de responder sin más contexto, pero la consulta sqlite final sería:

db.execSQL("DROP TABLE IF EXISTS table_name"); 

Donde db es una referencia a un objeto SQLiteDatabase.

+1

Gracias mucho, pero cuando pongo la declaración contenida en el párrafo siguiente, que todavía no funciona: public void onOpen() { \t botón Next3 = (Button) findViewById (R.id.Button03); next3.setOnClickListener (nueva View.OnClickListener() { db \t SQLiteDatabase; \t \t \t \t \t @ Override \t \t \t public void onClick (Ver vista) {\t \t \t \t \t db.execSQL ("DROP TABLE IF EXISTS títulos"); \t \t \t} \t \t \t}); \t \t } – user667571

+1

Usted todavía tiene que tener una referencia válida para el PP, que tendría que abrir primero, he aquí una explicación sencilla http://www.reigndesign.com/blog/using-your-own-sqlite -database-in-android-applications /. Aunque si quiere hacer más con esto eventualmente, querrá consultar Proveedores de contenido. – Cthos

0
SQLiteDatabase sdb; 
sdb=openOrCreateDatabase("dbname.db", Context.MODE_WORLD_WRITEABLE, null); 
sdb.execSQL("DROP TABLE IF EXISTS tablename"); 
12

Hay cierta ambigüedad con su pregunta. Tenga en cuenta que existe una diferencia entre SUPRIMIR una tabla y DROPPING una tabla. La eliminación de la tabla simplemente se borran todos los datos de sus filas:

database.delete(TABLE_NAME, null, null); 

Después de esto, todavía se puede hacer referencia a la tabla, ya que todavía existe, pero la creación de uno nuevo con el mismo nombre puede ser problemático sin utilizar el Crear una tabla SI NO EXISTE la expresión en sql.

El uso de DROP TABLE elimina completamente la tabla y no se puede hacer referencia de nuevo a menos que se vuelva a crear.

Como han dicho otros, esto debería funcionar si quieres que elimina por completo de la base de datos:

db.execSQL("DROP TABLE IF EXISTS table_Name"); 
Cuestiones relacionadas