java.lang.IllegalArgumentException: column '_id' does not exist問題的解決方案


我在使用SimpleCursorAdapter的過程中遇到了問題:

java.lang.IllegalArgumentException: column '_id' does not exist

 

這個問題的原因很好找,點進CursorAdapter中就能看到,它需要一個叫"_id"的鍵值。而且是必須。

而我的數據庫的主鍵是_ID,所以配合不上。那么解決的辦法也很簡單,query的時候加上as _id就行了。比如你的鍵值是_ID那么就用select _ID as id, xx,xxxx, from xxx where ......

我的問題不止這么簡單,因為我還用了CursorAdapter,人家的構造函數就那么一個,也沒有辦法加as條件。最后我走了一個比較野的路子,就是把projection的第一個String改成"_ID AS _id ",然后問題解決了,不過這個路子是沒有辦法的時候才使用的,不推薦。如果哪位朋友有更好的方法麻煩告訴我一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM