2012-12-11 29 views
2

我想選擇匹配通過ETA類別和類行,但屬性不包含通過USE1和USE2屬性,所以我寫了這個代碼的Android SQLite的不喜歡多重條件問題

public Cursor getData(String use1, String use2, String eta, String category, 
      String class) { 
     try { 
      Cursor c; 
       c = mDb.rawQuery(
         "SELECT * FROM dbtable " 
           + "WHERE Use NOT LIKE ? AND Use NOT LIKE ? AND Eta LIKE ? AND Language LIKE ? ORDER BY Name", 
         new String[] { "%" + use1 + "%", "%" + use2 + "%", "%" + eta + "%", 
           "%" + language + "%" }); 
      if (c != null) { 
       c.moveToNext(); 
      } 
      return c; 

     } catch (SQLException mSQLException) { 
      Log.e(TAG, "getDataCar >>" + mSQLException.toString()); 
      throw mSQLException; 
     } 

    } 

不幸的是不起作用,並且不排除該行包含屬性USE1USE2,如果我刪除這兩個NOT LIKE條件下,能正常工作......所以有是一個語法錯誤r與兩個不相似的條件。

+0

什麼是錯誤信息? –

+0

第一次應用程序崩潰時,在所有其他應用程序中出現通用的SQLITE編譯錯誤(但我無法重現該錯誤),並嘗試簡單地向我顯示與use1和use2屬性相匹配的行。 – AndreaF

+0

問題是什麼是參數......它們是否包含帶有重音符號(±,ć等)的字符? – Selvin

回答

0

解決, 的問題是由數據庫的列中的白色空間...引起的語法是正確的。

1
WHERE Use NOT LIKE ? AND Use NOT LIKE (NOTHING HERE) AND Eta LIKE ? AND Language LIKE ? ORDER BY Name 
+0

對不起。我錯誤的代碼...原因是另一個 – AndreaF