2015-06-14 84 views
0

我想在数据库创建时只将10行插入表中。我不希望每次打开应用程序时都会添加它们。只是作为一张具有最终价值的桌子。我会如何去做这件事?谢谢!在Android数据库中只将行插入表中一次

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); 
} 

回答

1

做在DatabaseHelper

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

+0

尝试更加煞费苦心。分享类似的答案。 –

0

由于您使用的是SQLiteOpenHelper,因此请将其插入onCreate()。使用传入的SQLiteDatabase作为参数,不要递归地调用getWritableDatabase()

+0

明白了,当我调用getWritableDatabase()之前,我会得到递归错误,因为我也在主要活动中调用它 –

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); 
相关问题