我一直在努力处理简单查询的结果,该查询在sqlite管理器中返回结果,但在wp8 app中没有。
我的观点非常简单:
CREATE VIEW "BookmarkDetail" AS SELECT b.BookmarkID, b.ChapterID, b.AyaID, c.TName, c.SuraName SuraName, a.Aya FROM Bookmark b inner join Chapter c on c.ChapterID = b.ChapterID
inner join ArabicText a on a.AyaID = b.AyaID and a.ChapterID = b.ChapterID
这会在sqlite manager中返回结果
select * from BookmarkDetail
使用以下代码从wp8 app调用相同内容不会返回任何结果。
public List<BookmarkDetail> getBookmarkDetail()
{
return dbConn.Table<BookmarkDetail>().ToList();
}
public List<BookmarkDetail> BookmarkDetail
{
get
{return getBookmarkDetail();} //This returns zero record
}
经过一些搜索,我发现“SuraName和Aya”列是unicode(阿拉伯语)值。如果我从视图定义中删除这两列,则查询会在sqlite manager和wp8中返回结果。如果我添加这两列,查询会在sqlite manager中返回结果,但不会在wp8中返回。
我不明白为什么wp8无法返回此类查询的结果? 我是否需要更改视图中列的排序规则?如果是,我怎么能在sqlite中做到这一点?
答案 0 :(得分:0)
最后我找到了答案。我在这里发送答案也许其他人可能在sqlite中面临这样的问题。
当我们创建一个包含主键和自动增量的表时,自动增量值存储在sqlite_sequence
表中。如果使用任何数据库有效数据库工具打开.sqlite数据库文件,您将看到此表。
如果您的表具有unicode数据(列)且不在此列表中,则应添加。这解决了我的问题!!