2015-10-14 47 views
0

我現在有一個表,它是與我的應用程序運行,Android和SQLite的更新

,但我想添加一些更多的列工作SQLite數據庫,我看這件事,它看起來像它需要一個ALTER - 表,執行onUpgrade,

  • 這是否意味着我必須在 以剛纔添加的兩列,我需要完全升級SQLite數據庫?

  • 這是調整表格的唯一方法嗎?

  • 如果我有拼寫錯誤或任何錯誤,我必須升級?

我是相當新的SQLite和一般的數據庫管理系統,所以原諒我的無知

+0

在這裏的一些terminology:「升級」你的數據庫通常意味着安裝SQLite的新版本,這不是你想要或在這種情況下需要做的。只要硬着頭皮來做'ALTER TABLE',它並不是那麼糟糕。 –

回答

0

如果您的應用已經發布和客戶都在使用它,那麼你將要使用的方法onUpgrade,以保持他們的數據並通過運行ALTER TABLE命令等將其本地數據庫升級到新的模式。

如果客戶還沒有您的應用程序,那麼您可以從模擬器或測試設備中刪除它。然後,只需修改onCreate方法即可從頭開始創建正確的列。當你啓動你的應用程序時,它應該創建你想要的模式的數據庫。

+0

我不認爲有人已經安裝了它>> 我會檢查,謝謝。 – Spider

0

您的SQLiteOpenHelper類具有用參數DBname和DBversion創建應用程序數據庫的公共過程。

如果DBUpdate調用了onUpgrade調用的方法(不是當前設備上的數據庫版本)方法。在onUpgrade方法中,您必須調用用於更改表結構的命令。

public class dbSQLadapter extends SQLiteOpenHelper { 
    private static final String DB_NAME = "peredovik"; 
    private static final int DB_VERSION = 23; 

    public dbSQLadapter(Context context) { 
     super(context, DB_NAME, null, DB_VERSION); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    } 
}