2013-05-11 54 views
0

我正在使用SQLite數據庫處理Android項目,並在數據庫中包含一個由數據庫中的個人是否重要的​​布爾值(存儲1和0)組成的列。Android - 數據庫SQLite - 轉換布爾值

我想要做的是輸出到一個文本視圖列表視圖一個「!」如果一個人很重要,以及「」如果他們不重要使用遊標和遊標適配器。我可以得到「1」和「0」出現在列表視圖中,但我的問題是如何/在哪裏將它們轉換爲「!」和「」?

我目前使用的查詢是

return database.query("people", new String[] {"_id", "important"}, null, null, null, null, "important" + " DESC, " + "name" + " ASC"); 

回答

0

最簡單的方法是在數據庫查詢中執行此操作。 的query功能也太不靈活,所以你必須使用rawQuery代替:

db.rawQuery("SELECT _id, " + 
        "CASE WHEN important THEN '!' ELSE ' ' END AS important " + 
      "FROM people " + 
      "ORDER BY important DESC, name ASC", null); 
+0

嗨感謝邏輯,但列表視圖仍然呈現 這是我在用0和1:'回報database.rawQuery(「SELECT _id,important,」+ 「CASE when then important THEN important ='*'ELSE''END AS impMarker」+ 「FROM people」+ 「ORDER BY DESC,people ASC」,null) ;' 我已經嘗試交替'重要=','=='但沒有成功。有任何想法嗎? – 2013-05-11 11:36:10

+0

你爲什麼改變查詢字符串?如果您需要名爲'important'的結果列,請更改'AS'。 – 2013-05-11 12:05:01

+0

你是說當我用'SELECT _id,重要的時候,'的第一位嗎?當我沒有把重要的(如你給我的查詢),程序在啓動時崩潰,因爲在我的其他代碼中我有'String [] from = new String [] {「important」};'用於我的CursorAdaptor – 2013-05-11 12:20:09

0

如果是,我敢肯定這是一個自定義的ListView,那麼你就必須這樣做,在你的CustomAdapter爲ListView,它負責用傳遞給它的數據填充ListView。 Check搞明白了。這樣做很簡單,只需循環你的光標,如果其他語句。