Вставка элементов списка по отдельности в базу данных как новые записи - PullRequest
0 голосов
/ 15 февраля 2019

Tl: dr

У меня есть список с элементами.Я хочу, чтобы каждый отдельный элемент был добавлен в мою базу данных sqlite в качестве новой записи.Сейчас я могу вставить все элементы в базу данных только как одну запись.

Я могу правильно заполнить список из своей базы данных.Если я вручную введите элементы в SqliteStudio.Добавленные элементы будут отображаться как отдельные элементы.

Настройки кода вверх по списку

private ObservableList listchosedescription;
listchosedescription  = FXCollections.observableArrayList();
this.descriptionschosen.setItems(listchosedescription);

Код для заполнения списка

while (result.next()) {
listchosedescription.add(result.getString("description"));
}
descriptionschosen.setItems(listchosedescription);

Неправильный код для добавления просмотра спискаэлементы в базе данных

Connection conn = dbConnection.getConnection();
PreparedStatement statement2 = conn.prepareStatement(sqlDesInsert);    
statement2.setString(1, String.valueOf(descriptionschosen.getItems()));
statement2.setInt(2, Integer.parseInt(labelidnew.getText()));
statement2.execute();

Из онлайн поиска.Я думаю, что мне нужен цикл for , подсчитывающий отдельные элементы в списке.

for(int i = listchosedescription.size(); i != 0; i--){

Затем мне нужно добавить каждую отдельную запись в пакет и затем выполнить пакет.

Я также понимаю, как получить один элемент из списка.Так что я чувствую себя немного застрявшим, поэтому я подумал, что буду публиковать для руководства.

1 Ответ

0 голосов
/ 15 февраля 2019
for (int i = listchosedescription.size(); i != 0; i--) {
                statement2.setString(1, String.valueOf(listchosedescription.subList(i - 1, i)));
                statement2.setInt(2, Integer.parseInt(labelidnew.getText()));
                statement2.addBatch();
            }
            statement2.executeBatch();

В этом для цикла у меня есть три утверждения:

  1. Я создаю целое число (i), которое считает size () из моего observableList.
  2. Я запускаю цикл до тех пор, пока size () не равен 0 (вероятно, должно быть до тех пор, пока он больше нуля).
  3. Я уменьшаю свое целое число (i) на 1 при каждом запуске цикла.

Внутри цикла я добавляю свои два оператора, как обычно.Но доступ к значениям из observableList осуществляется с помощью его subList.Я получаю доступ к местоположению, используя свое целое число (i).

  1. i-1 удостоверится, что я достиг правильного значения из индекса.
  2. i удостоверится, что я достигну правильного toIndex.

Наконец, я добавляю пакет в цикл и выполняю пакет после цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...