Mi aplicación tiene dos botones, el primer botón es para eliminar registros en la entrada del usuario y el segundo botón es para eliminar todos los registros. Pero cuando quiero eliminar datos, muestra el mensaje
"Su aplicación se ha detenido por la fuerza".
Por favor revisa mi código y dame alguna sugerencia.
public void deleteAll()
{
//SQLiteDatabase db = this.getWritableDatabase();
// db.delete(TABLE_NAME,null,null);
//db.execSQL("delete * from"+ TABLE_NAME);
db.execSQL("TRUNCATE table" + TABLE_NAME);
db.close();
}
y
public void delete(String id)
{
String[] args={id};
getWritableDatabase().delete("texts", "_ID=?", args);
}
Pero muestra el siguiente error de registro de gato.
03-07 15:57:07.143: ERROR/AndroidRuntime(287): Uncaught handler: thread main exiting due to uncaught exception
03-07 15:57:07.153: ERROR/AndroidRuntime(287): java.lang.NullPointerException
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at com.example.MySQLiteHelper.delete(MySQLiteHelper.java:163)
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at com.example.Settings$4.onClick(Settings.java:94)
-07 15:57:07.153: ERROR/AndroidRuntime(287): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at android.os.Handler.dispatchMessage(Handler.java:99)
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at android.os.Looper.loop(Looper.java:123)
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at android.app.ActivityThread.main(ActivityThread.java:4203)
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at java.lang.reflect.Method.invokeNative(Native Method)
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at java.lang.reflect.Method.invoke(Method.java:521)
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
03-07 15:57:07.153: ERROR/AndroidRuntime(287): at dalvik.system.NativeStart.main(Native Method)
Respuestas:
Te perdiste un espacio:
db.execSQL("delete * from " + TABLE_NAME);
Además, no hay necesidad de incluir
*
, la consulta correcta es:fuente
*
.o, si desea que la función devuelva el recuento de filas eliminadas ,
De la documentación del método de eliminación SQLiteDatabase :
fuente
Para eliminar todas las filas dentro de la tabla, puede usar:
fuente
SQLite no admite el
TRUNCATE
comando. Debes usar lo que has probado en la línea anterior:PD Puede optimizar su programa utilizando la misma instancia de la conexión de la base de datos para todas sus consultas a la base de datos dada en lugar de crear una nueva para cada consulta.
fuente
No hay necesidad de usar la función "ejecutar". El siguiente código funcionó para mí :::
fuente
este trabajo para mi :)
fuente
pruebe este código para eliminar todos los datos de una tabla.
fuente
rawQuery()
solo no funciona, ya que no ejecuta el SQL.use la función de eliminación SQL con los dos últimos parámetros nulos.
fuente
Solo escribe
o
fuente
Utilizo esta clase para manejar la base de datos. Espero que ayude a alguien en el futuro.
Feliz codificación
}
Uso:
fuente
fuente
Esto es trabajo para mí. La diferencia está aquí con execSQL y rawQuery. El rawQuery se usa más en la búsqueda de casos y el execSQL se usa principalmente en las operaciones de aplicación.
fuente
fuente
Puede ser útil
fuente
Este método elimina todos los datos de la base de datos
fuente
Tengo una función que me funciona en Unity (junto con la base de datos SQLite).
código C #:
fuente
Aquí hay una forma simple de eliminar:
Aquí
whereClause
es opcional, pasar nulo eliminará todas las filas de la tabla. la función delete devolverá el número de fila afectada si sewhereClause
pasa, de lo contrario devolverá 0.fuente
puede usar dos métodos diferentes para eliminar o cualquier consulta en sqlite android
primer método es
segundo método
use cualquier método para su caso de uso
fuente
Usando SQLite_NET_PCL v1.6.292 en VStudio, muchos de los documentos y comentarios parecen anticuados (creo).
Para borrar todos los registros
fuente