【问题标题】:How to join tables using sqlite in android如何在android中使用sqlite连接表
【发布时间】:2011-03-17 17:08:59
【问题描述】:

我正在尝试了解如何在 Android 应用程序中使用 sqlite 数据库对我的两个表进行简单的表连接。

是使用 CursorJoiner 最简单的方法还是有更简单的方法?

【问题讨论】:

标签: java android sqlite join database-cursor


【解决方案1】:

SQLiteDatabaseSQLiteQueryBuilder 的实现中,您将看到可以将要加入的表传递给querytable 参数,即使文档暗示它只需要一个表的名称。 SQLiteQueryBuilder 的文档更加清晰,甚至建议使用 foo, barfoo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id) 之类的内容。

【讨论】:

    【解决方案2】:

    如果你愿意使用第三方库,我推荐使用 Active Android

    https://github.com/pardom/ActiveAndroid

    使用它你可以像这样合并表格

    From query = new Select()
        .from(Foo.class)
        .innerJoin(Bar.class)
        .on("Foo.Id=Bar.Id");
    

    您甚至可以让光标返回以在加载器中使用

    Cursor cursor = Cache.openDatabase().rawQuery(query.toSql(), query.getArguments());
    

    更多详情here

    【讨论】:

      猜你喜欢
      • 2011-08-21
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 2016-01-08
      • 2015-03-12
      • 1970-01-01
      • 2018-08-03
      • 2020-12-29
      相关资源
      最近更新 更多