簡體   English   中英

如何在android studio上的數據庫中創建一個新表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM