Android SQLite核心功能
根据 android 文档 它具有完整的 sqlite 支持。这是否意味着我可以使用核心函数作为投影
的一部分查询,如下所示:
final ContentResolver cr = getContentResolver();
final String [] projection = new String []{
...,
...,
"replace(...) as replacedCol"
};
Cursor c = cr.query(uri, projection, null, null, null);
此代码段抛出 IllegalArgumentException
(无效列替换(...))。 那么有没有办法在sqlite查询中使用核心函数呢?
编辑 该错误很可能是由 ContentProvider 引起的,它会检查允许的列,因此似乎不可能将函数与内容解析器一起使用。
According to android documentation it has full sqlite support. Does it mean that I can use core functions as part of projection
for query, like this:
final ContentResolver cr = getContentResolver();
final String [] projection = new String []{
...,
...,
"replace(...) as replacedCol"
};
Cursor c = cr.query(uri, projection, null, null, null);
This snippet throws IllegalArgumentException
(Invalid column replace(...)).
So is there way to use core functions in sqlite queries?
edit the error is likely to be caused by ContentProvider, which checks for allowed columns, so it seems that using functions with content resolver is impossible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
提供者查询中的投影>> sql 查询中的列
通常是 ContentProvider 包含的
,在 ContentProvider 的查询方法中我们使用它,就像
这样 SQLiteQueryBuilder 使用地图将投影转换为实际查询
projection in provider query <> columns in sql query
usually ContentProvider contains
and in query method of ContentProvider we use it like
so SQLiteQueryBuilder translate projection to real query using the map