2015-06-14 2 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

это сделать в onCreate методом DatabaseHelper

EDIT: 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); 

 Смежные вопросы

  • Нет связанных вопросов^_^