如何在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 的实现中,您将看到可以将要加入的表传递给query
的table
参数,即使文档暗示它只需要一个表的名称。 SQLiteQueryBuilder 的文档更加清晰,甚至建议使用 foo, bar
或 foo 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连接表的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的 Android 应用程序中加入两个 SQLite 表?