创建数据库的代码:
private static final String DB_CREATE =
"CREATE TABLE " + TABLE_NAME + "(" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_ITEM +" TEXT NOT NULL " +
");";
我使用以下代码,但它只插入最后一个值(Swipe me to delete
),但不插入第一个(Click me to edit
),那么我该如何继续插入2行?
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DB_CREATE);
ContentValues contentValues = new ContentValues();
contentValues.put(COLUMN_ITEM, "Click me to edit");
contentValues.put(COLUMN_ITEM, "Swipe me to delete");
database.insert(
TABLE_NAME,
null,
contentValues
);
}
了解如何解决它,以便我在下面留下答案,但如果有人知道如何使用ContentValues插入超过1行,我会很感激答案。
谢谢!
答案 0 :(得分:2)
insert()
会在ContentValues
对象中插入包含值的单行。
要获得两行,您需要使用不同的insert()
拨打ContentValues
两次:
contentValues.put(COLUMN_ITEM, "Click me to edit");
database.insert(TABLE_NAME, null, contentValues);
contentValues.put(COLUMN_ITEM, "Swipe me to delete");
database.insert(TABLE_NAME, null, contentValues);
答案 1 :(得分:0)
好的,我发现如何使用execSQL解决它:
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DB_CREATE);
database.execSQL("INSERT INTO "+ TABLE_NAME + " VALUES(null, 'Click me to edit');");
database.execSQL("INSERT INTO "+ TABLE_NAME + " VALUES(null, 'Swipe me to erase');");
}