Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 添加sqlite数据库的新列后无法保存_Android_Sqlite_Android Sqlite - Fatal编程技术网

Android 添加sqlite数据库的新列后无法保存

Android 添加sqlite数据库的新列后无法保存,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,在将新列添加到sqlite后,我在保存数据时遇到了一些困难。e、 g下例中的列_contact_grp 在我的合同课上: public final static String _ID = BaseColumns._ID; public final static String COLUMN_CONTACT_NAME = "name"; public final static String COLUMN_CONTACT_NUMBER = "number"; public f

在将新列添加到sqlite后,我在保存数据时遇到了一些困难。e、 g下例中的列_contact_grp

在我的合同课上:

 public final static String _ID = BaseColumns._ID;
    public final static String COLUMN_CONTACT_NAME = "name";
    public final static String COLUMN_CONTACT_NUMBER = "number";
    public final static String COLUMN_CONTACT_GRP = "group";
在我的Dbhelper类中:

 @Override
public void onCreate(SQLiteDatabase db) {
    // Create a String that contains the SQL statement to create the pets table
    String SQL_CREATE_CONTACTS_TABLE = "CREATE TABLE " + NameEntry.TABLE_NAME + " ("
            + NameEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            + NameEntry.COLUMN_CONTACT_NAME + " TEXT NOT NULL, "
            + NameEntry.COLUMN_CONTACT_NUMBER + " TEXT,"
            + NameEntry.COLUMN_CONTACT_GRP + " TEXT );";

    // Execute the SQL statement
    db.execSQL(SQL_CREATE_CONTACTS_TABLE);
}
在我的主要活动中:

ContentValues values = new ContentValues();
    values.put(NameEntry.COLUMN_CONTACT_NAME, "Name");
    values.put(NameEntry.COLUMN_CONTACT_NUMBER, "1234");
    values.put(NameEntry.COLUMN_CONTACT_GRP, "testing");

该程序“过去工作和保存良好”,但在我添加新数据时保存失败。当我删除附加代码(列_CONTACT _GRP相关代码)时,它将再次工作,能够在我的listview上正确保存和显示姓名和号码。任何人都可以指导我在哪里查找错误

单词“组”是SQLite关键字,请使用另一个关键字,选中此项

单词“组”是SQLite关键字,请使用另一个关键字,选中此项

增加数据库版本并在onUpgrade方法中写入查询以在表中添加列。

增加数据库版本并在onUpgrade方法中写入查询以在表中添加列。

应使用方法

当数据库需要升级时调用。实施 应该使用此方法删除表、添加表或执行其他操作 它需要升级到新的架构版本

示例

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    if (oldVersion < 1) { // Add your Version .
         db.execSQL(DATABASE_ALTER);
    }

}


 private static final String DATABASE_ALTER = "ALTER TABLE "
    + TABLE_NAME + " ADD COLUMN " + COLUMN_ONE + " string;";
@覆盖
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
如果(旧版本<1){//添加您的版本。
execSQL(数据库改变);
}
}
私有静态最终字符串数据库\u ALTER=“ALTER TABLE”
+表_NAME+“添加列”+列_ONE+“字符串;”;
您应该使用方法

当数据库需要升级时调用。实施 应该使用此方法删除表、添加表或执行其他操作 它需要升级到新的架构版本

示例

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    if (oldVersion < 1) { // Add your Version .
         db.execSQL(DATABASE_ALTER);
    }

}


 private static final String DATABASE_ALTER = "ALTER TABLE "
    + TABLE_NAME + " ADD COLUMN " + COLUMN_ONE + " string;";
@覆盖
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
如果(旧版本<1){//添加您的版本。
execSQL(数据库改变);
}
}
私有静态最终字符串数据库\u ALTER=“ALTER TABLE”
+表_NAME+“添加列”+列_ONE+“字符串;”;