2012-09-25 55 views
2

我有一個奇怪的問題,的SQLite和Windows新城,正確的查詢不返回數據

我在Windows上使用的SQLite 8應用程序,一切工作正常...除了一個查詢。

我對4個不同的查詢使用相同的方法(他們都返回相同的列),映射是正確的,因爲至少有一個查詢正在工作。

問題是...查詢返回結果,如果我複製我的sql語句,並運行它變成sqlite的碼的手動,它的工作原理,並返回14行...

我的SQL語句是: 「選擇w1.word_sense,w2.word from word_senses as w1,word_senses as w2 where 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」

的執行查詢代碼行是:

列出同義詞= await 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 as word_senses w1,例子e其中w1.equiv_word ='A'和w1.usage & 0 = 0和e.word_sense = w1.word_sense order by w1.word_sense,e.example「

有人可以幫我嗎?我被困住了,不知道如何繼續。

謝謝!

+0

作爲附加信息...我只是發現了一些其他的查詢不工作......我認爲問題與時間有關......失敗的查詢需要2秒(2和半)來執行在SQLClient上......這可能是問題嗎? – varholl

+0

我想我創建瞭解決方案......我在一些表格上添加了一些索引,現在一些查詢開始工作...... – varholl

回答

1

只爲其他人有同樣的問題...我的數據庫有一些索引缺失,如果沒有那些索引查詢需要花費2秒... SQLite返回空時,它需要那麼多時間。