如何解决如何在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:没有此类列:sfzosub(代码1):,而在编译时:通过via UPDATE SET sfzosub = ?,sfzobaj = ?,id_viaje = ?,id_categoria =?更新WHERE codigo = 1
我发现问题是数据库arent上的更改导致我尝试重新启动android studio,重新构建应用程序,但是我仍然遇到相同的问题,因此,如何更改数据库?
解决方法
现在的主要问题是在哪里,您称创建新表为?如果您在
public void onCreate(SQLiteDatabase db)
您的代码将不会被执行,因为数据库已经存在!
要正确处理,请将其添加到
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) {
db.execSQL(YOUR_STRING);
然后将数据库的版本更改为更高的版本。重新启动应用程序时,它将看到一个新版本并运行onUpgrade
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。