Автор Тема: Метод в програмата с доста връзки към БД  (Прочетена 1325 пъти)

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

Meniak

  • Full Member
  • ***
  • Благодарности
  • -Казани: 5
  • -Получени: 4
  • Публикации: 224
Здравейте. В програмата дето пиша ми се налага да създам метод който има доста връзки към различни таблици от базата данни.
Не мога да ползвам Join защото връзките са Select Update Insert Delete всяка е различна а и държи различна информацията.

Пример натискам на бутончето "Продай" и метода проверява дали това което ще се продава го има с един Select, ако го има приспада продаденото от наличното с един Update и вкарва в друга таблица какво и колко е продадено.

Та на въпроса как ще е по добре всяка заявка в try-catch ли да слагам или примерно само първата (Select) и да направа една проверка ако това дето ще се продава го има да сложа другите връзки. Не знам дали ме разбирате, ако нещо ще дообясня.

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

Wanderer

  • Full Member
  • ***
  • Благодарности
  • -Казани: 4
  • -Получени: 26
  • Публикации: 196
Re: Метод в програмата с доста връзки към БД
« Отговор #1 -: 04 Октомври 2014, 22:55:10 »
Цитат
И друго да знаете нещо дето мога да си оптимизирам кода, примерно да показва къде кода ми товари приложението за да намеря друг начин за изписване на кода или нещо подобно.

Това което търсиш се казва profiler ->за еклипс може да си инсталираш jvmmonitor от маркетплейса.

Иначe не разбрах какво питаш.
“You must make the Journey along the road, nobody is able to do it for you!”

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: Метод в програмата с доста връзки към БД
« Отговор #2 -: 04 Октомври 2014, 23:01:08 »
Странно го зададе тоя въпрос, но отговор е ясен. Това дето се чудиш се оправя с транзакции (transaction). Те ти позволяват да изпълниш един сет заявки на един път, като ако нещо стане има опцията да се върне в начално положение (rollback), както и commit за да приложиш промените. От предишните теми помня че ползваш Apache Derby, потърси в нета конкретната имплентация за транзакции с нея - не съм я разцъквал.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

Meniak

  • Full Member
  • ***
  • Благодарности
  • -Казани: 5
  • -Получени: 4
  • Публикации: 224
Re: Метод в програмата с доста връзки към БД
« Отговор #3 -: 04 Октомври 2014, 23:12:21 »
Не ползвам определена база данни в смисъл каквото ми скимне това ползвам - уча се като драскам код.

Мерси много ще потърся в нета какво са това транзакциите за да знам вече но все пак ако напиша кода както мислех да го пиша ще има ли проблем?

@Wanderer мерси много ще се разровя из нета за jvmmonitor щото ползвам NetBeans. С Еклипс не съм си имал вземане даване, тръгнах с NetBeans и до днес сам си с него.

Слято мнение: 05 Октомври 2014, 12:55:15
Ще се опитам да обясня с примерен код за да стане малко по ясно.
След като съм попълнил полетата и сам натиснал бутончето "Продай" се изпълнява метод.

try {
      String sql = "SELECT...........";
      if (rs.next()) {
          try {
                String sql = "UPDATE...........";
          } catch (Exception e) {
             System.out.println(e.getMessage());
          }

          try {
               String sql = "INSERT...........";
          } catch (Exception e) {
             System.out.println(e.getMessage());
          }
         
     }
} catch (SQLException e) {
   System.out.println(e.getMessage());
}

Този начин за писане на кода става ли за нещо? и може ли да се напише по добре и въобще какви са му плюсовете ако въобще има и минусите.
« Последна редакция: 05 Октомври 2014, 12:55:15 от Meniak »