Автор Тема: JavaFX Програма с JDBC  (Прочетена 3062 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

Meniak

  • Full Member
  • ***
  • Благодарности
  • -Казани: 5
  • -Получени: 4
  • Публикации: 224
JavaFX Програма с JDBC
« -: 27 Август 2014, 20:22:23 »
Здравейте. Пиша една програма на Java с база данни JDBC:Derby. Направих един GUI с JavaFX създадох си таблицата с която ще записвам информация и до ту всичко е ок, но сега не мога да се сетя как да изкарам тази информация от базата така че да мога да я редактирам. Да речем че имам в базата данни полета name и value и искам чрез интерфейса да мога да редактирам value.
Ползвам Windows7 JDK 1.8 NetBeand 8.0

Гледам в интернет различни урочета за Java Desktop App с База Данни но като цяло информацията e много малко за JavaFX а тая дето я има е за някакво начало или е толкова стара че не върши никаква работа.

Wanderer

  • Full Member
  • ***
  • Благодарности
  • -Казани: 4
  • -Получени: 26
  • Публикации: 196
Re: JavaFX Програма с JDBC
« Отговор #1 -: 27 Август 2014, 21:01:08 »
http://www.w3schools.com/sql/sql_update.asp
Та като знаеш ИД-то на реда от базата просто взимаш новите стойности и правиш една update заявка. Виж си 
“You must make the Journey along the road, nobody is able to do it for you!”

Meniak

  • Full Member
  • ***
  • Благодарности
  • -Казани: 5
  • -Получени: 4
  • Публикации: 224
Re: JavaFX Програма с JDBC
« Отговор #2 -: 27 Август 2014, 22:02:50 »
Нямам проблем с SQL синтаксиса а с това че не знам как точно да изкарам резултатите от базата на графичния интерфейс за да мога да ги редактирам после. Да е нещо като екселска таблица и да има на всеки ред едно бутонче Редактирай и като го натисна да речен да се отвори нов прозорец с информацията от реда и там вече е лесно ама точно това как да структурирам извеждането на информацията от базата така че да е в вид на таблица и да мога да си редактирам реда. Или някаква друга идея просто дето може да направи тази гимнастика.

Wanderer

  • Full Member
  • ***
  • Благодарности
  • -Казани: 4
  • -Получени: 26
  • Публикации: 196
Re: JavaFX Програма с JDBC
« Отговор #3 -: 27 Август 2014, 22:34:54 »
“You must make the Journey along the road, nobody is able to do it for you!”

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 125
  • -Получени: 73
  • Публикации: 1005
  • Кибик
Re: JavaFX Програма с JDBC
« Отговор #4 -: 29 Август 2014, 17:33:06 »
Той търси май еквивалента на phpmyadmin.
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

Meniak

  • Full Member
  • ***
  • Благодарности
  • -Казани: 5
  • -Получени: 4
  • Публикации: 224
Re: JavaFX Програма с JDBC
« Отговор #5 -: 29 Август 2014, 17:41:10 »
Здравейте, горе дуло почнах да разбирам че нищо не разбирам ама сега имам друг проблем.
Как с този код или по някакъв друг начин да вкарам колоните ARTICLENAME и ARTICLEVALUE от базата данни в колоните на таблицата дето сам нарисувал,  съответно в едната колона на таблицата  да са имената на артикулите в другата стойностите.

Код: Java(TM) 2 Platform Standard Edition 5.0
  1. try {
  2.             String host = "jdbc:derby://localhost:1527/DataBaseName";
  3.             String userName = "Username";
  4.             String password = "Password";
  5.             Connection con = DriverManager.getConnection(host, userName, password);
  6.             Statement stmt = con.createStatement();
  7.             String sqlSelect = "SELECT * FROM ARTICLE";
  8.             ResultSet rs = stmt.executeQuery(sqlSelect);
  9.  
  10.             ObservableList<String> name = FXCollections.observableArrayList();
  11.             ObservableList<String> value = FXCollections.observableArrayList();
  12.             while (rs.next()) {
  13.                 name.add(rs.getString("ARTICLENAME"));
  14.                 value.add(rs.getString("ARTICLEVALUE"));
  15.             }
  16. //            Таблицата и двете колони
  17. //            @FXML
  18. //            private TableView<?> tableArticle;
  19. //            @FXML
  20. //            private TableColumn<?, ?> columnArticleName;
  21. //            @FXML
  22. //            private TableColumn<?, ?> columnArticleValue;
  23.  
  24.            
  25.             stmt.close();
  26.             con.close();
  27.         } catch (SQLException e) {
  28.             System.out.println(e.getMessage());
  29.         }
  30.  

howto

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 44
  • -Получени: 5
  • Публикации: 341
Re: JavaFX Програма с JDBC
« Отговор #6 -: 29 Август 2014, 19:53:16 »
Човече тоя код не е добре написан не, че разбирам, но ако пуснеш това нещо по този начин да знаеш, че ти се бой за грешка.       
Код: MySQL
  1. String sqlSelect = "SELECT * FROM ARTICLE";
  2.  
Eто ти един жокер преди да зи започнал да пишеш ново приложение  научи се първо да не пишеш * този знак казвам, го от личен опит дори Хана много пъти ми се е карал за това! Като стъпка 2 вземи полетата от field-ите и ги криптирай с нещо си ако имаш желание ще ти намеря и example за encode стринг, но предполагам, че и ти ще се правиш google е пълен с такива неща.  Ще си спестиш проблеми в последствие. Гледам, че викаш и connection-а директно поне го направи на функция ще ти спести още главоболия. Не зная какво правиш, но в заявки към sql-a трябва всичко да бъде описано. Например:
Код: MySQL
  1. SELECT user_name, user_email FROM users WHERE user_id=ID  
и т.н Преди да пишеш ти препоръчвам да се запознаеш с езика.

kjufte

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 1
  • -Получени: 51
  • Публикации: 308
Re: JavaFX Програма с JDBC
« Отговор #7 -: 30 Август 2014, 11:31:13 »
Този линк, който Wanderer ти е постнал не ти ли помага?
Там добре е показано стъпка по стъпка как се вие баницата.

Meniak

  • Full Member
  • ***
  • Благодарности
  • -Казани: 5
  • -Получени: 4
  • Публикации: 224
Re: JavaFX Програма с JDBC
« Отговор #8 -: 30 Август 2014, 13:12:53 »
Еми не там баницата е друга. Там имам някакъв ObservableList с предварително дефинирани данни и някакъв клас дето добавя някакви полета. Таблици колони на таблицата всичко се дефинира по време на кода . При мене положението е, аз имам предварително написан GUI които зареждам от един FXML файл, там си има и таблицата и колоните и всичко което ми трябва. В Controler файла на тоя GUI в initialize метода права връзка с JDBC базата данни викам двата ObservableList-а и ги набутвам с информацията от колоните. и сега тези ObservableList - ове искам да ги сложа в колоните на таблицата и да си стане нещо като да изведа информацията от цялата база данни в табличен вид ама маи това в java е невъзможно защото 4 дена се рова из нета за нещо подобно ама и подобно няма.

kjufte

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 1
  • -Получени: 51
  • Публикации: 308
Re: JavaFX Програма с JDBC
« Отговор #9 -: 30 Август 2014, 14:55:45 »
Хич не е различна баницата.   ;D
Ти с предварително дефинирани данни може ли да си напълниш твойта таблица?
Струва ми се, че си спрял да четеш от Defining the Data Model нататъка.
Направи го този туториал целия. После се опитай малко да попромениш това онова и тогава се опитай да реализираш твоя си сценарий с базата дании.