Java 使用SQLiteOpenHelper onCreate()方法时,向sqlite插入2行
创建数据库的代码:Java 使用SQLiteOpenHelper onCreate()方法时,向sqlite插入2行,java,android,sql,sqlite,android-sqlite,Java,Android,Sql,Sqlite,Android Sqlite,创建数据库的代码: private static final String DB_CREATE = "CREATE TABLE " + TABLE_NAME + "(" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_ITE
private static final String DB_CREATE =
"CREATE TABLE " + TABLE_NAME + "(" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_ITEM +" TEXT NOT NULL " +
");";
我正在使用以下代码,但它只插入最后一个值(滑动我以删除
),而不插入第一个值(单击我以编辑
),因此我应该如何继续插入两行
@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插入多行,我将非常感谢您的回答
谢谢 好的,我找到了如何使用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');");
}
insert()
使用ContentValues
对象中的值插入一行
要获得两行,需要使用不同的内容值调用insert()
两次:
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);
您也可以通过为每个值调用database.insert来实现同样的效果。在使用contentValues时,是否可以调用database.*()中的方法来插入多个值?否。如果需要,编写自己的帮助器函数非常简单。