@tedroid

Android: как правильно вставлять массивы в sqlite базу данных?

Пытаюсь добавить значения из массивов в соответствующие столбцы (первый массив в первый столбец, второй массив во второй, третий в третий) с помощью циклов. Все работает, вот только второй массив начинает добавляться не в первую строку соответствующего столцба, а в строку, следующую за той, в которую записалось последнее значение первого массива. В первом же столбце на следующих строках начинает дублироваться последнее значение. То же самое происходит с третьим и вторым столбцом. Думаю, будет нагляднее:

Столбец1 Столбец2 Столбец3
Значение1
Значение2
Значение3
Значение3 Значение1
Значение3 Значение2
Значение3 Значение3
Значение3 Значение3 Значение1
Значение3 Значение3 Значение2
Значение3 Значение3 Значение3

Прошу подсказать правильное решение проблемы.
Код:

ContentValues cv = new ContentValues();
        db = dbHelper.getWritableDatabase();
        for (int i = 0; i < array1.length; i++) {
                cv.put("c1", array1[i]);
                db.insert("mytable", null, cv);
        }
        for (int i = 0; i < array2.length; i++) {
                cv.put("c2", array2[i]);
                db.insert("mytable", null, cv);
        }

        for (int i = 0; i < array3.length; i++) {
                cv.put("c3", array3[i]);
                db.insert("mytable", null, cv);
            }
  • Вопрос задан
  • 544 просмотра
Пригласить эксперта
Ответы на вопрос 1
@geronix
Есть подозрения, что вы используете один и тот же ContentValues cv = new ContentValues();, может стоит для каждой вставки создать свой и посмотреть, что получится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы