我是android编程的初学者,在尝试插入sqlite数据库时遇到了这个错误。
sqlite返回:错误代码=1,msg=table MobileHouseVisit没有列elderly_date_time。
对于前3列,在我添加更多列之前没有问题。这就是为什么我不评论它。我检查了间距,一切看起来都很好。我在谷歌上搜索了一下,但还是没有得到任何帮助。
下面是我的代码
private static final String DATABASE_NAME = "silverCareMgt.db";
private static final String DATABASE_TABLE = "MobileHouseVisit";
private static final int DATABASE_VERSION = 1;
private SQLiteDatabase _db;
private final Context context;
public static final String MOBILE_HOUSE_VISIT_ID = "_id";
public static final int COLUMN_KEY_ID = 0;
public static final String ELDERLY_NAME = "elderly_name";
public static final int COLUMN_NAME_ID = 1;
public static final String ELDERLY_NRIC = "elderly_nric";
public static final int COLUMN_TEL_ID = 2;
public static final String ELDERLY_DATE_TIME = "elderly_date_time";
public static final int COLUMN_DT_ID = 3;
//public static final String PHYSICAL_HEALTH_STATUS ="physical_health";
//public static final int COLUMN_PHY_ID = 4;
//public static final String MENTAL_HEALTH_STATUS ="mental_health_status";
//public static final int COLUMN_MENTAL_ID = 5;
protected static final String DATABASE_CREATE = "create table " + DATABASE_TABLE +" ("+
MOBILE_HOUSE_VISIT_ID + " integer primary key autoincrement, "+
ELDERLY_NAME + " TEXT NOT NULL, "+
ELDERLY_NRIC + " TEXT NOT NULL, " +
ELDERLY_DATE_TIME + " TEXT NOT NULL);";
//+ PHYSICAL_HEALTH_STATUS + " TEXT, "
//+ MENTAL_HEALTH_STATUS + " TEXT);";
我认为您的问题是第一次运行代码时没有在表中创建列。所以下次在表中添加更多列时,数据库不会再次创建,表也是如此。卸载您的应用程序,然后再次运行。将再次创建数据库和表。
数据库是在您第一次运行应用程序时创建的。如果你修改了数据库,你必须重新安装应用程序,从而重新创建你的数据库,或者实施onUpdgrade
方法,在那里你可以处理对数据库的更改