2

我有一个奇怪的问题,

我在 Windows 8 应用程序上使用 SQLite,一切正常……除了一个查询。

我对 4 个不同的查询使用相同的方法(它们都返回相同的列),映射是正确的,因为其中至少有一个正在工作。

问题是......查询没有返回任何结果,如果我复制我的 sql 语句并手动将其运行到 sqlite 中,它可以工作并返回 14 行......

我的 sql 语句是:“从 word_sense 中选择 w1.word_sense,w2.word 作为 w1,word_sense 作为 w2,其中 w1.equiv_word = 'A' and w1.ID = w2.ID and w1.word_sense != w2.word_sense and w2. usage & 66294!= 0 and w2.usage &3072= 0 order by w1.word_sense, w2.word"

执行查询的代码行是:

列出同义词 = 等待 DBHelper.Instance.QueryAsync(sql);

映射是:

public class WordSynonymMapping
{
    [SQLite.Column("word_sense")]
    public int WordSense { get; set; }

    [SQLite.Column("word")]
    public string Word { get; set; }
}

我找不到解决办法...

这是一个实际有效的声明的副本......

“选择 w1.word_sense, e.example 作为 word_sense w1 中的单词, 示例 e 其中 w1.equiv_word = 'A' and w1.usage & 0 = 0 and e.word_sense = w1.word_sense order by w1.word_sense, e.example "

有人可以帮我吗?我被卡住了,不知道如何继续。

谢谢!

4

1 回答 1

1

只是对于其他有同样问题的人......我的数据库缺少一些索引,显然没有这些索引,查询最多需要 2 秒......并且 SQLite 在需要这么多时间时返回空。

于 2012-09-26T01:35:45.887 回答