3 回答
TA贡献1834条经验 获得超8个赞
您必须先增加数据库版本,然后再更改 sqlite 的 On-upgrade 方法。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if(newVersion > oldVersion){
db.execSQL("DROP TABLE IF EXISTS " +......);
db.execSQL("CREATE TABLE IF NOT EXISTS " +......);
insertColumnIfNotAvailableinTable(SQLiteDatabase db, String tableName, String columnName, String columnType);
}
}
TA贡献1848条经验 获得超6个赞
错误很明显:
...
.sqlite.SQLiteException: table userInfo has no column named userInfo (code 1):
, while compiling: INSERT INTO userInfo(password,userInfo) VALUES (?,?) at
...
当您调用该方法时
public boolean addInfo( ContentValues values )
您将作为内容值传递,即与表同名的值。你必须检查两件事:
您在哪里使用
UserProfile.Users.TABLE_NAME
(我认为它的值是 userInfo检查您传递给
addInfo
方法使用的内容值的内容。
希望能帮助到你。
TA贡献1853条经验 获得超6个赞
如果您在创建表后尝试向该表添加新行,请尝试删除该表并重新创建它。
去除
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
在此之后,您可以再次重新创建表
添加回答
举报