2013-07-23 43 views
0

我使用SQLite返回與條件匹配的記錄計數。問題是我得到的計數等於0(我認爲在我的查詢中有什麼錯誤,但我剛剛複製了一些SQLite GUI管理器,並且它返回10 - 一個很好的值,我剛剛將Ctrl + C/Ctrl + V複製過來。 ..)。SQLite返回計數等於0

我使用的代碼是:

_command = _sqlite.CreateCommand(); 
_command.CommandType = CommandType.Text; 
_command.CommandText = query; 
Int32 recordsFound = (Int32) _command.ExecuteScalar(); // 0 here, should be 10 

我查詢正在使用:

SELECT count(*) FROM test_table WHERE address MATCH '4 AND church' 

爲什麼它做工精細的圖形用戶界面,但不是我的代碼:?/

但是有什麼奇怪的。如果我使用下面的查詢結果應該是2044,它是2044 ... wtf?

SELECT count(*) FROM test_table WHERE address MATCH '4' 

回答

1

在這裏閱讀答案:

sqlite with full text search doesn't find results when space in query

,你將不得不使用逃脫 「」 在您的查詢的空間。 現在,'匹配'一直在尋找4個單詞。

+0

嗯,但如果我有一些包含10個單詞的地址,而我只想匹配2個令牌(不是直接彼此)。 – Nickon

+0

我的意思是說我有一個地址'lincoln road 32 blah blah london'。因此,查詢''32林肯''不匹配任何東西,但'32 AND lincoln'匹配該地址 – Nickon

+0

搜索'32林肯'有一個隱含的AND –