我是一个android程序的初学者,我正面临这个错误,试图插入到我的sqlite数据库。
返回的sqlite : error code =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);";发布于 2012-08-01 11:46:29
我认为您的问题是,当您第一次运行您的代码时,当第一次没有在table.So中创建该列时,下次当您向表中添加更多列时,不会再次创建db,您的表也是如此。卸载您的应用程序,然后运行它,again.Database和表将再次创建。
发布于 2012-08-01 11:49:40
数据库是在您第一次运行应用程序时创建的。如果修改DB,则必须重新安装应用程序,从而重新创建DB,或者实现onUpdgrade方法,以便处理对DB所做的更改。
https://stackoverflow.com/questions/11758426
复制相似问题