在发表这个问题之前,我先看了以下几篇文章:
Exception "table.... has no column named...."
我尝试重新安装应用程序,但它抛出了一个异常,说明列uid_name不在那里!这里的错误是什么?
我有一个数据库类,其中我具有以下功能:
private static final String KEY_ID = "og_nid";
private static final String KEY_TITLE = "og_title";
private static final String KEY_UID = "og_uid";
private static final String KEY_UID_NAME = "uid_name";
public void onCreate(SQLiteDatabase db) {
String CREATE_SURVEYS_TABLE = "CREATE TABLE IF NOT EXISTS " + TABLE_SURVEYS + "("
+ KEY_ID + " INTEGER PRIMARY KEY, " + KEY_TITLE + " TEXT, "
+ KEY_UID + " TEXT, " + KEY_UID_NAME + "TEXT "+ ")";
db.execSQL(CREATE_SURVEYS_TABLE);
}
void addSurvey(Survey survey) {
SQLiteDatabase db = this.getWritableDatabase();
this.onCreate(db);
ContentValues values = new ContentValues();
values.put(KEY_ID, survey.get_id()); // Contact Name
values.put(KEY_TITLE, survey.get_title());
values.put(KEY_UID, survey.get_uid());
values.put(KEY_UID_NAME, survey.get_name());
// Contact Phone
// Inserting Row
db.insert(TABLE_SURVEYS, null, values);
db.close(); // Closing database connection
}
发布于 2013-11-11 19:00:39
在这里留出一个空间(当然,重新安装或增加数据库版本):
...+ KEY_UID + " TEXT, " + KEY_UID_NAME + " TEXT "+ ")";// notice the space before the last TEXT constraint
目前,您上一列的名称是uid_nameTEXT
。
https://stackoverflow.com/questions/19913732
复制相似问题