2010-02-19 83 views
0

我有一个工作数据库。我只是在表格中增加了一列。它一直说没有那个专栏。所以我改变了表名。现在它说没有那个表名。然后我改变了数据库名称。它仍然给错误。它在我改回表名并删除了我添加的额外列后正常工作。你能帮我弄清楚有什么问题吗? 如何在干净的模拟器上运行我的代码?如何验证创建表的代码是否正在执行?我如何使用sqlite数据库浏览器来查看它是否真的存在吗?Android Sqlite数据库:它无法识别我在现有数据库中添加的新列或新表

非常感谢! Tong

回答

1

在现实世界中,您必须更改数据库版本并迁移onUpgrade(..)中的更改。
开发时,您可以在Eclipse的运行配置中为您的项目选中“擦除用户数据”,然后再关闭模拟器并启动应用程序。

+0

谢谢亚历克斯!我仍然收到同样的信息。没有列名....可以请你解释下面的代码是如何工作的。我可以命名我的数据库DBV1和DBV2。但是Eclipse如何重新认识不同的版本? public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)db.execSQL(“DROP TABLE IF EXISTS records”); onCreate(db); } – Tong 2010-02-21 03:31:18

0

我发现了错误。我在添加最后一列后错过了逗号。简单的错误可能会花费很多。

2

以供将来参考(人使用Google的问题):

从您的主要活动,其中“数据库名称”是你的数据库的名字尝试该命令

this.deleteDatabase("database_name"); 

。如果您修改任何表结构(添加柱),请始终执行此操作,否则可能必须使用SQLLiteOpenHelper中的onUpgrade方法。同样如您所说,请确保您在String命令末尾的db.execSQL(命令)中没有任何逗号。

相关问题