返回的sqlite需要帮助:错误代码=1,消息=表没有列名



我是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方法,在那里你可以处理对数据库的更改

最新更新