我想在数据库创建时只将10行插入到表中。我不希望每次应用程序打开时都添加它们。只有一次作为具有最终值的表。我该怎么做呢?谢谢!
public void insertEvents(){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COL_EVENT, "value1");
values.put(COL_EVENT, "value2");
values.put(COL_EVENT, "value3");
values.put(COL_EVENT, "value4");
db.insert(TABLE_EVENTS, null, values);
}
答案 0 :(得分:1)
答案 1 :(得分:1)
由于您使用的是SQLiteOpenHelper
,请将插入内容放在onCreate()
中。使用传入的SQLiteDatabase
作为参数,不要递归调用getWritableDatabase()
。
答案 2 :(得分:0)
我知道这可能为时已晚,但我只是在分享我的答案。您的代码似乎表明您正在尝试添加4行。以下是一些提示:
1)在onCreate
方法中执行此操作,如 @Georgiy Shur 所述。
2)insert
方法一次只能插入一个行。所以你应该这样做:
ContentValues values = new ContentValues();
values.put(COL_EVENT, "value1");
db.insert(TABLE_EVENTS, null, values);
values.put(COL_EVENT, "value2");
db.insert(TABLE_EVENTS, null, values);
values.put(COL_EVENT, "value3");
db.insert(TABLE_EVENTS, null, values);
values.put(COL_EVENT, "value4");
db.insert(TABLE_EVENTS, null, values);