android更新删除数据库表,从SQLite数据库表中删除所有表行

我想删除我从SQLite数据库表中输入的所有行。 表名是tbltask 。 我试图删除表并从表中删除*,但那些给了我运行时错误。 我想在Button OnClickListner事件中触发此事件。

以下代码是我尝试的:String delete = "DELETE FROM "+DATABASE_TABLE; db.rawQuery(delete, null); db.delete(DATABASE_TABLE, null, null);

logcat的:

11-15 17:45:04.660: DEBUG/AndroidRuntime(300): Shutting down VM 11-15 17:45:04.660: WARN/dalvikvm(300): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): FATAL EXCEPTION: main 11-15 17:45:04.710: ERROR/AndroidRuntime(300): java.lang.NullPointerException 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at database.com.android.DatabaseAccess.drop(DatabaseAccess.java:258) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at com.android.ExtraActivity$3$1.onClick(ExtraActivity.java:61) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at android.os.Handler.dispatchMessage(Handler.java:99) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at android.os.Looper.loop(Looper.java:123) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at android.app.ActivityThread.main(ActivityThread.java:4627) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at java.lang.reflect.Method.invokeNative(Native Method) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at java.lang.reflect.Method.invoke(Method.java:521) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 11-15 17:45:04.710: ERROR/AndroidRuntime(300): at dalvik.system.NativeStart.main(Native Method) 11-15 17:45:04.781: WARN/ActivityManager(58): Force finishing activity com.android/.ExtraActivity 11-15 17:45:05.320: WARN/ActivityManager(58): Activity pause timeout for HistoryRecord{45061a70 com.android/.ExtraActivity} 11-15 17:45:14.857: WARN/ActivityManager(58): Launch timeout has expired, giving up wake lock! 11-15 17:45:15.402: WARN/ActivityManager(58): Activity idle timeout for HistoryRecord{450141d0 com.android/.WelcomActivity} 11-15 17:45:20.572: WARN/ActivityManager(58): Activity destroy timeout for HistoryRecord{45061a70 com.android/.ExtraActivity}

这是我获得以下查询的LogCat输出:

String delete = "DELETE FROM taskTable"; db.execSQL(delete);

做就是了:

db.delete(DATABASE_TABLE, null, null);

请注意,使用rawQuery应该可行,但可能存在潜在的安全风险。

编辑:

关于使用时遇到的问题

db.execSQL

阅读文档 ,它说你不应该使用execSQL与INSERT,DELETE,UPDATE或SELECT

共识是删除并重新创建表,或者您可以使用DELETE FROM tbltask ,它在其他dbs上使用类似于TRUNCATE的性能操作。

getWritableDatabase().execSQL("DELETE FROM " + "contacts" + ";");

这里的接触是我的名字..试试吧..它对我有用..

从数据库表中删除所有值在数据库中使用此方法。

private SQLiteDatabase odb; public void deleteallvalues(){ odb.delete(TABLE_NAME,null,null) }

这项工作很好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值