Android 为什么在向SQLite表添加列时会出现此错误?

Android 为什么在向SQLite表添加列时会出现此错误?,android,Android,我制作了一个SQLite程序,它有两个列。它运行得很好。在我添加了与上面相同的具有相同表的其他列之后,我得到了一个错误。为什么会这样 堆栈跟踪: 03-08 09:16:59.570: ERROR/AndroidRuntime(247): Uncaught handler: thread main exiting due to uncaught exception 03-08 09:16:59.621: ERROR/AndroidRuntime(247): java.lang.Runti

我制作了一个SQLite程序,它有两个列。它运行得很好。在我添加了与上面相同的具有相同表的其他列之后,我得到了一个错误。为什么会这样

堆栈跟踪:

03-08 09:16:59.570: ERROR/AndroidRuntime(247): Uncaught handler: thread main exiting due to uncaught exception
03-08 09:16:59.621: ERROR/AndroidRuntime(247):     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mb.demo/com.mb.demo.DemoActivity}: android.database.sqlite.SQLiteException: table table1 has no column named logitude: , while compiling: insert into table1(name,address,logitude,latitude,contact)values(?,?,?,?,?)
03-08 09:16:59.621: ERROR/AndroidRuntime(247): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)

这与我刚才回答的问题惊人地相似:

如果在onCreate()方法中向表中添加列,则必须升级数据库版本或删除应用程序的用户数据,以便onCreate()实际启动。否则,您的应用程序将运行,看到一个同名的数据库,并且版本相同(表只有2列),并跳过onCreate(),因此不会重新创建表,并且插入失败


编辑:另一种可能是您的“logitude”输入错误导致了问题。如果表列名拼写正确为“经度”,则插入将失败,如上所述。

异常说明了一切,`android.database.sqlite.SQLiteException:table table1没有名为logitude:,而编译时:insert into table1'。您认为已添加的列实际上并未添加到数据库中。顺便说一句,您是如何添加列的?是的,但是为什么我们不能使用同一个创建的表呢?