Android Caused by: java.lang.IllegalArgumentException: column '_id' does not exist
原來的代碼是:mSQLiteDatabase.query(table_name, new String[] {_title}, null, null, null, null, null);
修改后的代碼為:mSQLiteDatabase.query(table_name, null, null, null, null, null, null);
??????? 這里的 new String[] {MyEvent._title} 是一個查詢條件,數(shù)組里的內(nèi)容是要查詢表的列名,這里是限定你要查詢的列。參數(shù)值為 null 表示查詢所有列(包含有 “_id” 這一列) 。如里這樣改也是可以 的:mSQLiteDatabase.query(table_name, new String[] {_id, _title}, null, null, null, null, null); 目的就是要你查詢的結(jié)果中含有“_id” 這一列。
??????? 另外,關(guān)于sqlite數(shù)據(jù)庫中的 "_id" 這一列,在sqlite數(shù)據(jù)庫中是必須有的,而且列名還必須是 “_id” 一般為主鍵。而用以下代碼在一個ListView中顯示時,也需要用到 “_id” 這一列。
public void updataAdapter() {
?? ??? ?if (mCursor != null && !mCursor.isClosed())
?? ??? ??? ?mCursor.close();
?? ??? ?
?? ??? ?mCursor = m_MyDataBaseAdapter.fetchAllData();
?? ??? ?mCursor.moveToFirst();
?? ??? ?
?? ??? ?if (mCursor != null && mCursor.getCount() > 0) {
?? ??? ??? ?ListAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, mCursor, new String[] { _title }, new int[] { android.R.id.text1 });
?? ??? ??? ?listView.setAdapter(adapter);
?? ??? ?}
?}
總結(jié)
以上是生活随笔為你收集整理的Android Caused by: java.lang.IllegalArgumentException: column '_id' does not exist的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqlite数据库的char,varch
- 下一篇: Android之状态栏通知Notific