我在android studio中的一个应用程序中工作,该应用程序使用SQLite将用户的信息传递给表。它正在工作,但是我需要添加其他数据,所以根据我的说法,我将该表转换为4列中的另一列,但是在logcat中显示此消息
“ E / SQLiteLog:(1)表STUDENTS有3列,但提供了4个值”
这就是我所拥有的:
public class SQLiteDb extends SQLiteOpenHelper {
private static final String TABLE_STUDENTS="CREATE TABLE STUDENTS(NAMES TEXT,
LASTNAMES TEXT, ID TEXT, IMAGE TEXT)";
public SQLiteDb(Context context) {
super(context, "db_students", null, 1);
}
}
有人知道如何修复它以接受4个值吗?
答案 0 :(得分:2)
列似乎不存在的典型原因是对数据库助手的 onCreate 方法的误解,并假定该列每次应用程序都运行。实际上,它将仅在首次创建数据库时自动运行一次(创建后数据库将保留一次)。
因此,您很可能在创建数据库后将表更改为具有附加列。
解决方法很简单,要么删除应用程序的数据,要么卸载应用程序,然后执行一次,然后重新运行应用程序,新的架构将被应用,您将拥有四列。