在Android数据库中仅将行插入表中一次

时间:2015-06-14 20:46:54

标签: android database sqlite

我想在数据库创建时只将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);
}

3 个答案:

答案 0 :(得分:1)

DatabaseHelper

onCreate方法中执行此操作

编辑:here是类似的问题。或者您可以尝试this tutorial

答案 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);