如何在android中使用sqlite连接表

Posted

技术标签:

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

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

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

【问题讨论】:

最好在 SQL 中执行此操作。用必要的JOINs 创建一个VIEW。 我尝试这样做,但由于某种原因无法让我的项目识别它。 ***.com/a/4957197/334270 【参考方案1】:

在SQLiteDatabase 和SQLiteQueryBuilder 的实现中,您将看到可以将要加入的表传递给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

【讨论】:

以上是关于如何在android中使用sqlite连接表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQLite 中连接三个表?

如何在我的 Android 应用程序中加入两个 SQLite 表?

如何在 sqlite3 中正确连接这些表 [关闭]

如何解决android.database.sqlite.SQLiteException:没有这样的表错误?

android中sqlite数据库的基本使用和添加多张表

如何将SQLite3 创建的数据库与android 程序连接