【问题标题】:How to check via content provider whether there is already a specific record in my SQLite Database如何通过内容提供者检查我的 SQLite 数据库中是否已有特定记录
【发布时间】:2018-04-02 16:29:54
【问题描述】:

基本上,我有一个通过 API 下载的项目列表,并且在某个时候,我将其中一些项目记录到我的 SQLite 数据库中。我通过内容提供程序执行 CRUD 操作,例如(插入、查询、更新、删除),现在我想知道 如何使用或在我的内容提供程序中实现一个功能,以检查特定记录是否已经存在我的数据库,这样我就不需要再次插入它了。 更具体地说,对于我的代码,每个记录的项目都有一个从 API 接收到的 id(不是主键),我想检查一下针对那个 id(它当然存储在我数据库的列中)。

【问题讨论】:

  • 你能发布你现在拥有的东西吗
  • 没有必要,我只是要求一个布尔方法,它接收一个字符串代码作为参数并返回答案是否代码已经在数据库中

标签: android sqlite persistence android-contentprovider


【解决方案1】:

使用UNIQUE 约束定义列,并在插入时使用INSERT OR IGNORE

例如

像这样创建表:-

CREATE TABLE IF NOT EXISTS atable (id INTEGER UNIQUE, mydata TEXT);

像这样插入:-

INSERT OR IGNORE INTO atable VALUES(10,'myvalue');

显然,根据您的最高机密根据需要调整此代码,不得显示代码。 :)

【讨论】:

    猜你喜欢
    • 2019-07-05
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多