【问题标题】:Android SQlite 3 execute commandsAndroid SQlite 3 执行命令
【发布时间】:2014-07-28 07:48:12
【问题描述】:

我正在 android 平台上开发自动化,但被困在应用程序的 db 部分。 我需要通过 adb 命令清除表“tablename”中的所有数据。我有以下命令可以手动完成这项工作,但我无法自动化它。

adb shell sqlite /data/data/.../databases/log.db 从表名中删除 *

当我为此创建一个批处理文件时 sqlite> 已打开但未执行删除命令。我怎样才能做到这一点?

批处理文件数据:

adb shell sqlite3 /data/data/.../databases/activitylog.db 从事件中删除 *;

【问题讨论】:

  • 显示批处理文件。为什么不能直接在您的应用中执行此操作?

标签: android sqlite


【解决方案1】:

要执行的SQL命令必须是单个参数,所以你必须引用它:

adb shell sqlite3 .../activitylog.db 'delete from events'

我冒昧地更正了 SQL 语法。

【讨论】:

  • 谢谢!从早上开始就做了很多艰苦的工作。终于让它工作了
【解决方案2】:

您的设备需要为此植根。

方式一: 在“su”之后运行你的 sqlite3 命令。 我更喜欢以下方式:

    adb shell
    su
    cd <toYourDbDir>
    sqlite3 /data/data/com.symantec.mobilesecurity/databases/activitylog.db delete * from events

如果您必须再次执行此操作,只需使用向上箭头获取最后一个命令并使用 enter 执行它。

方式二: 安装sqlite Database Editor,打开数据库并编辑你想要的。

【讨论】:

  • 问题询问如何在批处理文件中执行此操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
  • 2015-09-19
  • 2014-01-22
  • 2020-10-11
  • 2019-08-04
相关资源
最近更新 更多