2017-01-02 16 views
2

В javafx Я создал несколько кнопок и TableView с некоторыми столбцами. Когда я нажимаю кнопку, он добавляет продукт в столбцы TableView. до сих пор, никаких проблем с этим.получить данные из TableView и вставить в базу данных

Я создал класс Product, и используя это, я создаю объект продукта с pID, pName, pQty, pPrice. пример:

new Product(1, "Pen", 2, 3.50); 
new Product(2, "notebook", 1, 5.00); 

так всякий раз, когда я нажимаю кнопку продукта добавляет этот продукт в следующей строке.

Вот проблема сталкивается:

Я хочу, чтобы добавить все эти строки в TableView к базе данных я создал.

Есть ли способ получить все эти объекты по одному от TableView и вставить его в базу данных?

Или существует способ заполнения базы данных от ObservableList?

+1

Как насчет 'tableView.getItems()'. Он вернет ObservableList, который может выполнять итерацию и отправку данных один за другим с использованием JDBC. –

+1

Нет способа, который делает это для вас для каждого типа подключения к базе данных ... Он должен быть достаточно простым, чтобы вставить кучу строк в таблицу, хотя ... – fabian

ответ

1

Это мое решение. На самом деле я был настолько глуп, что продолжал пытаться вставить все эти данные в другую базу данных и таблицу с теми же именами. Итак, в принципе никаких проблем с вставкой. Приносим извинения за доставленные неудобства. и спасибо всем, кто заинтересован. Кроме того, я помещаю здесь код, который я использовал для вставки. В случае, если это может быть полезно для кого-то.

String query = "INSERT INTO Product (pID, pName, pQty, pPrice) VALUES (?,?,?,?)"; 
      pst = conn.prepareStatement(query); 

      for(int i=0; i<data.size(); i++){ 

       pst.setString(1, data.get(i).getRID().toString()); 
       pst.setString(2, data.get(i).getRName()); 
       pst.setString(3, data.get(i).getRQty().toString()); 
       pst.setString(4, data.get(i).getRPrice().toString()); 


       pst.execute(); 

      } 

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