2015-10-14 53 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) { 
    } 
}