2014-06-10 62 views
0

我在Plant Table SeedStartMonths中有一個字段爲nvarchar,它包含1 2 4 11.我正試着SELECT * FROM Plant WHERE CONTAINS(SeedStartMonths,'11'),它給了我錯誤。Sqlce {「解析查詢時出現錯誤[令牌行號= 1,令牌行偏移= 27,令牌出錯= CONTAINS]」}

string tmp = ((int) thisMonth).ToString(); 
      using (SqlCeCommand com = new SqlCeCommand("SELECT * FROM Plant WHERE CONTAINS(SeedStartMonths, '" + tmp + "')", con)) 
      { 
       SqlCeDataReader reader = com.ExecuteReader(); 

       while (reader.Read()) 
       { 
        try 
        { 

         AddReaderToGardenEntityList(gardenEntities, reader); 
        } 
        catch (Exception) 
        { 
         //unable to parse datas 
        } 
       } 
      } 

回答

0

SQL-CE不支持CONTAINS謂詞函數。然而,它的確支持LIKE運營商,則必須重寫查詢,如下所示:

SELECT * FROM Plant WHERE SeedStartMonths LIKE '%11%' 
+0

問題工廠有:1 2 3 4 5,B廠有11 12,如何將我寫它只是只希望1. –

+0

@HieuNTrinh嘗試'LIKE'%1%''(注意空格),但這需要您的字段值前面加上空格字符,但您可以使用SQL來完成。 – Dai

+0

謝謝,它的作品。 –

相關問題