日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Caused by: java.lang.IllegalArgumentException: column '_id' does not exist

發布時間:2023/12/4 Android 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Caused by: java.lang.IllegalArgumentException: column '_id' does not exist 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
出錯原因:在查詢整個sqlite數據庫時,沒有查詢到 "_id" 這一列。

原來的代碼是: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} 是一個查詢條件,數組里的內容是要查詢表的列名,這里是限定你要查詢的列。參數值為 null 表示查詢所有列(包含有 “_id” 這一列) 。如里這樣改也是可以 的:mSQLiteDatabase.query(table_name, new String[] {_id, _title}, null, null, null, null, null); 目的就是要你查詢的結果中含有“_id” 這一列。

??????? 另外,關于sqlite數據庫中的 "_id" 這一列,在sqlite數據庫中是必須有的,而且列名還必須是 “_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);
?? ??? ?}
?}

??????? 這里的 SimpleCursorAdapter 在顯示時會根據"_id"進行顯示,“_id” 是必須有的。

總結

以上是生活随笔為你收集整理的Android Caused by: java.lang.IllegalArgumentException: column '_id' does not exist的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。