亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android studio no so so column SQL database

Android studio no so so column SQL database

小唯快跑啊 2022-08-17 10:14:46
我不明白為什么我的筆記應用程序不斷崩潰。我單擊一個按鈕插入一個注釋,該注釋顯示在列表視圖中,使用SQLite數據庫。給出的錯誤是:(1) no such column: TITLE FATAL EXCEPTION: mainUnable to resume activity: android.database.sqlite.SQLiteException: no such column: TITLE (code 1 SQLITE_ERROR): , while compiling: SELECT ID, TITLE FROM note_table位于 :mainactivity.javacursor = database.query(table_name, columns, where, where_args, group_by, having, order_by);數據庫:public class DBOpenHelper extends SQLiteOpenHelper {public static final String DATABASE_NAME = "notes.db";public static final String TABLE_NAME = "note_table";public static final String ID_COLUMN = "ID";public static final String TITLE_COLUMN = "TITLE";public static final String TEXT_COLUMN = "ITEM2";public static final String DATE_COLUMN = "DATE";SQLiteDatabase db = this.getWritableDatabase();public DBOpenHelper(Context context) {    super(context, DATABASE_NAME, null, 1);}@Overridepublic void onCreate(SQLiteDatabase db) {    String createTable = "CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, " +            " TITLE TEXT)";    db.execSQL(createTable);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    db.execSQL("drop table notes_table");    onCreate(db);}我不明白為什么我會收到此錯誤消息,因為我的列名稱是正確的。我嘗試刪除并重新編譯我的應用程序,但沒有成功。
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

您的問題在于數據庫類的構造函數:


public DBOpenHelper(Context context) {

    super(context, DATABASE_NAME, null, 1);

}

具體來說,在 的最終參數中。這是您的數據庫版本,也是對數據庫結構進行更改的關鍵。您在評論中提到,之前在設備上調用它,它仍然被調用,因為您的應用程序不知道數據庫結構已更改。1super()TITLEITEM1ITEM1


您可以通過在類中引入版本常量來解決此問題,如下所示:


private static final int DB_VERSION = 2;

并在構造函數中使用此變量:


public DBOpenHelper(Context context) {

    super(context, DATABASE_NAME, null, DB_VERSION);

}

每當您對數據庫進行任何結構更改時,請遞增,這將導致調用其方法。DB_VERSIONSQLiteOpenHelperonUpgrade()


查看完整回答
反對 回復 2022-08-17
  • 1 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號