[英]How to create a new table into a database on android studio?
我正在使用 sqlite 數據庫開發一個 android 項目,在創建數據庫后我意識到我需要一個新表,所以我嘗試將它添加到我的 SQLiteOpenHelper 類中
BaseDeDatos.execSQL("create table viaje(id_viaje integer primary key, tiempo integer, revs integer, esfzosub integer, esfzobaj integer)");
但是當我運行應用程序並按下按鈕時,我的應用程序崩潰並給了我以下消息:
android.database.sqlite.SQLiteException: no such column: sfzosub (code 1): , while compile: UPDATE viaje SET sfzosub=?,sfzobaj=?,id_viaje=?,id_categoria=? 哪里 codigo=1
我看到問題是沒有對數據庫進行更改,我試圖重新啟動 android studio,重建應用程序,但我仍然遇到同樣的問題,所以,我該如何更改我的數據庫?
現在最大的問題是你在哪里調用新表的創建? 如果你這樣做
public void onCreate(SQLiteDatabase db)
您的代碼不會被執行,因為數據庫已經存在!
要正確處理它,請將其添加到
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(YOUR_STRING);
然后將數據庫的版本更改為更高的數字。 當您重新啟動應用程序時,它將看到一個新版本並運行onUpgrade
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.