【发布时间】:2011-03-17 17:08:59
【问题描述】:
我正在尝试了解如何在 Android 应用程序中使用 sqlite 数据库对我的两个表进行简单的表连接。
是使用 CursorJoiner 最简单的方法还是有更简单的方法?
【问题讨论】:
-
我尝试这样做,但由于某种原因无法让我的项目识别它。
标签: java android sqlite join database-cursor
我正在尝试了解如何在 Android 应用程序中使用 sqlite 数据库对我的两个表进行简单的表连接。
是使用 CursorJoiner 最简单的方法还是有更简单的方法?
【问题讨论】:
标签: java android sqlite join database-cursor
在SQLiteDatabase 和SQLiteQueryBuilder 的实现中,您将看到可以将要加入的表传递给query 的table 参数,即使文档暗示它只需要一个表的名称。 SQLiteQueryBuilder 的文档更加清晰,甚至建议使用 foo, bar 或 foo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id) 之类的内容。
【讨论】:
如果你愿意使用第三方库,我推荐使用 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
【讨论】: