Advertisement
DeveloperSergio

Java GUI Vs mysql database Part 8

Nov 29th, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 50.86 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.sql.*;
  3.  
  4. /**
  5. * Created by Admin on 24.11.2016.
  6. */
  7. public class AddValsInMysql {
  8.  
  9. //создаем значения в БД
  10. void createValsInMysql(JTextField field1, JTextField field2, JTextField field3, JTextField field4, JTextField field5,
  11. Connection con, Statement stmt, ResultSet rs, String url, String user, String password){
  12.  
  13.  
  14. String query = "INSERT INTO carsfff.tbl1 (CODE, TYPE, QUANTITY, PRICE, YEAR) VALUES (" +
  15. "'" + field1.getText() + "'" + "," +
  16. "'" + field2.getText() + "'" + "," +
  17. "'" + field3.getText() + "'" + "," +
  18. "'" + field4.getText() + "'" + "," +
  19. "'" + field5.getText() + "'" + ")";
  20. try {
  21. // opening database connection to MySQL server
  22. con = DriverManager.getConnection(url, user, password);
  23.  
  24. // getting Statement object to execute query
  25. stmt = con.createStatement();
  26.  
  27.  
  28. /*Ввод строк JTextfields в таблицу mysql*/
  29. stmt.executeUpdate(query);
  30.  
  31. } catch (SQLException sqlEx) {
  32. sqlEx.printStackTrace();
  33. } finally {
  34. //close connection ,stmt and resultset here
  35. try { con.close(); } catch(SQLException se) { /*can't do anything */ }
  36. try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
  37. try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
  38. }
  39.  
  40. }
  41.  
  42. }
  43.  
  44.  
  45.  
  46. import javax.swing.*;
  47. import java.awt.event.ActionEvent;
  48. import java.awt.event.ActionListener;
  49. import java.sql.Connection;
  50. import java.sql.ResultSet;
  51. import java.sql.Statement;
  52. import java.util.ArrayList;
  53.  
  54. /**
  55. * Created by Admin on 24.11.2016.
  56. */
  57. public class ButtonUpdateActListn {
  58.  
  59. Message messageUpdate = new Message();
  60.  
  61. void btnUpActListen(JButton btnUpdate, ArrayList valueInTables, JTextField field1, JTextField field2,
  62. JTextField field3, JTextField field4, JTextField field5, JTextField fieldID ,
  63. UpdateStringInTable updateStringInTable, String url, String user, String password,
  64. Connection con, Statement stmt, ResultSet rs, MyTableModel tModel){
  65.  
  66. // данные изменяются в таблице. Слушатель на кнопку
  67. btnUpdate.addActionListener(new ActionListener() {
  68. @Override
  69. public void actionPerformed(ActionEvent ae) {
  70.  
  71. valueInTables.add(new ValueInTable(field1.getText(), field2.getText(),
  72. Integer.valueOf(field3.getText()), Integer.valueOf(field4.getText()),
  73. Integer.valueOf(field5.getText()) ) );
  74.  
  75. updateStringInTable.updateValues(url, user, password, field1, field2, field3, field4, field5,
  76. con, stmt, rs, Integer.valueOf(fieldID.getText()) );
  77.  
  78. // выводим сообщение посне нажатия кнопки
  79. messageUpdate.showMsDialogBtnUpdate(ae, btnUpdate, Integer.valueOf(String.valueOf(fieldID.getText())));
  80.  
  81. tModel.fireTableDataChanged();
  82. }
  83. });
  84. }
  85. }
  86.  
  87.  
  88. import javax.swing.*;
  89. import javax.swing.border.EmptyBorder;
  90. import javax.swing.border.TitledBorder;
  91. import java.awt.*;
  92. import java.awt.event.ActionEvent;
  93. import java.awt.event.ActionListener;
  94. import java.sql.Connection;
  95. import java.sql.ResultSet;
  96. import java.sql.Statement;
  97.  
  98. /**
  99. * Created by Admin on 27.11.2016.
  100. */
  101. public class CreateAccount extends JFrame{
  102.  
  103. JButton btnOk;
  104. JButton btnCancel;
  105. JTextField loginField;
  106. JPasswordField passwordField1;
  107. JPasswordField passwordField2;
  108.  
  109. // класс задает рамер кнопок
  110. SizeButtons sizeButtons = new SizeButtons();
  111. Message message = new Message();
  112. // клас помогает сдетать запрос в базу
  113. QueryInDatabase queryInDatabase = new QueryInDatabase();
  114.  
  115.  
  116. private static final String url = "jdbc:mysql://localhost:3306/authorization";
  117. private static final String user = "root";
  118. private static final String password = "root";
  119.  
  120.  
  121. // поля для открытия подключения и получения значенией с Mysql
  122. private static Connection con;
  123. private static Statement stmt;
  124. private static ResultSet rs;
  125.  
  126. CreateAccount(){
  127. super("Авторизация");
  128. setDefaultCloseOperation(EXIT_ON_CLOSE);
  129.  
  130. // устанавливаем иконку
  131. iconLogin();
  132.  
  133.  
  134. // первая горизонтальная панель для логина
  135. Box box1 = Box.createHorizontalBox();
  136. JLabel loginLabel = new JLabel(" Логин:");
  137. loginField = new JTextField(15);
  138. box1.add(loginLabel);
  139. box1.add(Box.createHorizontalStrut(7));
  140. box1.add(loginField);
  141. box1.add(Box.createHorizontalStrut(15)); //прозрачный разделитель между JTextField и краем окна
  142.  
  143.  
  144. // втотрая горизонтальная панель для первого пароля
  145. Box box2 = Box.createHorizontalBox();
  146. JLabel passLabel1 = new JLabel("Пароль:");
  147. passwordField1 = new JPasswordField(15);
  148. box2.add(passLabel1);
  149. box2.add(Box.createHorizontalStrut(7)); //прозрачный разделитель между Jlabel и JPasswordField
  150. box2.add(passwordField1);
  151. box2.add(Box.createHorizontalStrut(15)); //прозрачный разделитель между JPasswordField и краем окна
  152.  
  153.  
  154. // третяя горизонтальная панель для второго пароля
  155. Box box3 = Box.createHorizontalBox();
  156. JLabel passLabel2 = new JLabel("Пароль:");
  157. passwordField2 = new JPasswordField(15);
  158. box3.add(passLabel2);
  159. box3.add(Box.createHorizontalStrut(7)); //прозрачный разделитель между Jlabel и JPasswordField
  160. box3.add(passwordField2);
  161. box3.add(Box.createHorizontalStrut(15)); //прозрачный разделитель между JPasswordField и краем окна
  162.  
  163.  
  164. // четвертая горизонтальная панель
  165. Box box4 = Box.createHorizontalBox();
  166. btnOk = new JButton("Ok");
  167. btnCancel = new JButton("Cancel");
  168.  
  169. //задаем размер кнопок
  170. sizeButtons.setSizeBtnCreateAccount(btnOk, btnCancel);
  171.  
  172.  
  173. //создаем отступы и добавляем кнопки
  174. box4.add(Box.createHorizontalGlue());
  175. box4.add(btnOk);
  176. box4.add(Box.createHorizontalStrut(5)); //прозрачный отступ между кнопками
  177. box4.add(btnCancel);
  178. box4.add(Box.createHorizontalStrut(15)); // отступ от кнопок доправого края окна
  179.  
  180.  
  181. // Уточняем размеры компонентов
  182. loginLabel.setPreferredSize(passLabel1.getPreferredSize());
  183. passLabel1.setPreferredSize(passLabel2.getPreferredSize());
  184.  
  185.  
  186. // помещаем в вертикальный mainBox горизонтальные Box-ы
  187. Box mainBox = Box.createVerticalBox();
  188. mainBox.setBorder((new TitledBorder("Create Account"))); // заголовок Box-а
  189. // mainBox.setBorder(new EmptyBorder(40,0,0,0)); // //пустая граница
  190. mainBox.add(Box.createVerticalStrut(20)); // пустые отступы между box-ми между логин и пароли
  191. mainBox.add(box1);
  192. mainBox.add(Box.createVerticalStrut(20)); // пустые отступы между box-ми
  193. mainBox.add(box2);
  194. mainBox.add(Box.createVerticalStrut(3)); // пустые отступы между box-ми
  195. mainBox.add(box3);
  196. mainBox.add(Box.createVerticalStrut(15));
  197. mainBox.add(box4);
  198. setContentPane(mainBox);
  199.  
  200. // устанавливает оптимальный размер окна
  201. pack();
  202.  
  203. // отключает кнопку max и возможность изменения окна
  204. setResizable(false);
  205.  
  206. // отображение фрейма по центру
  207. setLocationRelativeTo(null);
  208.  
  209. setVisible(true);
  210.  
  211.  
  212. // слушатель на кнопку btnoOk
  213. this.btnOk.addActionListener(new ActionListener() {
  214. @Override
  215. public void actionPerformed(ActionEvent ae) {
  216.  
  217. // проверяем заполнены ли JTextField и JPasswordField-ы а также еть ли такой логин в БД
  218.  
  219. if ( emptyLoginPassTextField(ae, btnOk )){
  220. if ( addInBDLoginsAndPasses(ae, btnOk ) ){
  221.  
  222. //Создаем фрейм в потоке обработки событий
  223. SwingUtilities.invokeLater(new Runnable() {
  224. @Override
  225. public void run() {
  226.  
  227. // вызвывем JFrameLogin
  228. new JFrameLogin();
  229.  
  230. // закрываем окно CreateAccount
  231. dispose();
  232.  
  233. }
  234. });
  235.  
  236. }
  237. }
  238. }
  239. });
  240.  
  241.  
  242. // слушатель на кнопку btnCancel
  243. this.btnCancel.addActionListener(new ActionListener() {
  244. @Override
  245. public void actionPerformed(ActionEvent ae) {
  246.  
  247. //Создаем фрейм в потоке обработки событий
  248. SwingUtilities.invokeLater(new Runnable() {
  249. @Override
  250. public void run() {
  251.  
  252. // вызвывем JFrameLogin
  253. new JFrameLogin();
  254.  
  255. // закрываем окно CreateAccount
  256. dispose();
  257.  
  258. }
  259. });
  260.  
  261.  
  262. }
  263. });
  264.  
  265. }
  266.  
  267.  
  268. // устанавливаем иконку JFrameLogin
  269. public void iconLogin(){
  270. /* Toolkit kit =Toolkit.getDefaultToolkit();
  271. Image img = kit.getImage("src\\images\\key32.png");
  272. setIconImage(img);*/
  273. setIconImage(Toolkit.getDefaultToolkit().getImage("src\\images\\key32.png"));
  274. }
  275.  
  276.  
  277. // проверка заполнено ли LoginTextField JPasswordField
  278. public boolean emptyLoginPassTextField(ActionEvent event, JButton bntOk){
  279. boolean flag = true;
  280.  
  281. if ( (String.valueOf(loginField.getText()).isEmpty()) &&
  282. (String.valueOf(passwordField1.getText()).isEmpty()) &&
  283. (String.valueOf(passwordField2.getText())).isEmpty() ){
  284.  
  285. message.showMsDialogNoLoginPass(event, bntOk);
  286. flag = false;
  287. }
  288.  
  289. else if ( String.valueOf(loginField.getText()).isEmpty() ){ //если пустое JTextField
  290. message.showMsDialogNoLogin(event, bntOk);
  291. flag = false;
  292. }
  293. else if ( String.valueOf(passwordField1.getText()).isEmpty() &&
  294. (String.valueOf(passwordField2.getText())).isEmpty() ||
  295. (String.valueOf(passwordField1.getText())).isEmpty() ||
  296. (String.valueOf(passwordField2.getText())).isEmpty() ){
  297.  
  298. message.showMsDialogNoPass(event, bntOk);
  299. flag = false;
  300. }
  301. //проверка на совпадение длины паролей passwordField1 и passwordField2
  302. else if ( (String.valueOf(passwordField1.getText())).length() != String.valueOf(passwordField2.getText()).length() ||
  303. !(new String(passwordField1.getPassword()).equals( new String( passwordField2.getPassword())) ) ){
  304. message.showMsDialogPass1Pass2NotEquels(event, bntOk);
  305. flag = false;
  306. }
  307.  
  308. return flag;
  309. }
  310.  
  311. // добавляем логин и пароль в базу
  312. public boolean addInBDLoginsAndPasses(ActionEvent event, JButton btnOk){
  313.  
  314. int ID = 0;
  315. boolean flag = true;
  316.  
  317.  
  318. // ищим есть ли в базе логины совподающие с loginField
  319. ID = queryInDatabase.searchIdInTable("login1", "NAME", String.valueOf(loginField.getText()),
  320. con, stmt, rs, url,user,password );
  321.  
  322.  
  323. // если нет
  324. if (ID == 0){
  325.  
  326. // добавляем логин в БД
  327. queryInDatabase.addValuesInBD("login1", "NAME", String.valueOf(loginField.getText()),
  328. con, stmt, url, user, password);
  329.  
  330.  
  331.  
  332. // добавляем пароль в БД
  333.  
  334. queryInDatabase.addValuesInBD("pass", "PASSWORDS",
  335. String.valueOf(new String(passwordField2.getPassword())), con, stmt, url, user, password );
  336.  
  337.  
  338.  
  339. // сообщение об удачном создании логина и пароля
  340. message.showMsDialogLoginAndPassAddInBD(event, btnOk);
  341.  
  342. // message.showMsDialogTEST(button, ID, passFld2);
  343.  
  344.  
  345. }
  346. else {
  347. // сообщение что такой логин существует
  348. message.showMsDialogLoginAlreadyInDB(event, btnOk);
  349. flag = false;
  350. }
  351.  
  352. return flag;
  353.  
  354. }
  355.  
  356. }
  357.  
  358.  
  359. import java.sql.*;
  360.  
  361. /**
  362. * Created by Admin on 24.11.2016.
  363. */
  364. public class GetCountToAllRowsInMysql {
  365.  
  366. //узнаем к-тво строк в БД
  367. public int getAllRowsMysql(Connection con, Statement stmt, ResultSet rs, String url, String user, String password){
  368.  
  369. String query = "SELECT count(*) FROM tbl1";
  370. int allRows = 0;
  371. try {
  372. // opening database connection to MySQL server
  373. con = DriverManager.getConnection(url, user, password);
  374.  
  375. // getting Statement object to execute query
  376. stmt = con.createStatement();
  377.  
  378. // executing SELECT query
  379. rs = stmt.executeQuery(query);
  380.  
  381.  
  382. /*Вывод строки таблици*/
  383. while (rs.next()) {
  384. allRows = rs.getInt(1);
  385. }
  386.  
  387.  
  388. } catch (SQLException sqlEx) {
  389. sqlEx.printStackTrace();
  390. } finally {
  391. //close connection ,stmt and resultset here
  392. try { con.close(); } catch(SQLException se) { /*can't do anything */ }
  393. try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
  394. try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
  395. }
  396.  
  397. return allRows;
  398. }
  399.  
  400.  
  401. }
  402.  
  403.  
  404.  
  405. import javax.swing.*;
  406. import javax.swing.border.EmptyBorder;
  407. import java.awt.*;
  408. import java.awt.event.ActionEvent;
  409. import java.awt.event.ActionListener;
  410. import java.sql.Connection;
  411. import java.sql.ResultSet;
  412. import java.sql.Statement;
  413.  
  414.  
  415. /**
  416. * Created by Admin on 26.11.2016.
  417. */
  418. public class JFrameLogin extends JFrame{
  419.  
  420. JTextField loginField;
  421. JPasswordField passwordField;
  422. // класс с установкой размера кнопок
  423. SizeButtons sizeButtons = new SizeButtons();
  424. // вывод сообщений
  425. Message message = new Message();
  426. // запрос в БД на получение Id
  427. QueryInDatabase queryInDatabase = new QueryInDatabase();
  428.  
  429.  
  430.  
  431. private static final String url = "jdbc:mysql://localhost:3306/authorization";
  432. private static final String user = "root";
  433. private static final String password = "root";
  434.  
  435.  
  436. // поля для открытия подключения и получения значенией с Mysql
  437. private static Connection con;
  438. private static Statement stmt;
  439. private static ResultSet rs;
  440.  
  441. JButton bntOk = new JButton("OK");
  442. JButton btnCancel = new JButton("Отмена");
  443. JButton btnCreate = new JButton("Создать");
  444.  
  445.  
  446.  
  447. JFrameLogin(){
  448. super("Вход в систему");
  449. setDefaultCloseOperation(EXIT_ON_CLOSE);
  450.  
  451. // устанавливаем иконку
  452. iconLogin();
  453.  
  454.  
  455. // первая горизонтальная панель для ввода логина
  456. Box box1 = Box.createHorizontalBox();
  457. JLabel loginLabel = new JLabel(" Логин:");
  458. loginField = new JTextField(5);
  459. box1.add(loginLabel);
  460. box1.add(Box.createHorizontalStrut(3));
  461. box1.add(loginField);
  462.  
  463. // вторая горизонтальная панель для ввода пароля
  464. Box box2 = Box.createHorizontalBox();
  465. JLabel passwordLabel = new JLabel("Пароль: ");
  466. passwordField = new JPasswordField(5);
  467. box2.add(passwordLabel);
  468. box2.add(Box.createHorizontalStrut(5));
  469. box2.add(passwordField);
  470.  
  471. // Настраиваем третью горизонтальную панель
  472. Box box3 = Box.createHorizontalBox();
  473.  
  474. //задаем размер кнопок
  475. sizeButtons.setSizeBtnLogin(bntOk,btnCancel,btnCreate);
  476.  
  477. //здаем отступы между кнопок
  478. box3.add(Box.createHorizontalGlue());
  479. box3.add(bntOk);
  480. box3.add(Box.createHorizontalStrut(5)); // промежуток между кнопками OK и Cancel
  481. box3.add(btnCancel);
  482. box3.add(Box.createHorizontalStrut(5));
  483. box3.add(btnCreate);
  484.  
  485. // Уточняем размеры компонентов
  486. loginLabel.setPreferredSize(passwordLabel.getPreferredSize());
  487.  
  488. // размещаем три горизонтальные панели на одной вертикальной
  489. Box mainBox = Box.createVerticalBox();
  490. mainBox.setBorder(new EmptyBorder(8,15,8,20)); //пустая граница
  491. mainBox.add(box1);
  492. mainBox.add(Box.createVerticalStrut(12));
  493. mainBox.add(box2);
  494. mainBox.add(Box.createVerticalStrut(12));
  495. mainBox.add(box3);
  496. setContentPane(mainBox);
  497. // устанавливает оптимальный размер окна
  498. pack();
  499. // отключает кнопку max и возможность изменения окна
  500. setResizable(false);
  501. // отображение фрейма по центру
  502. setLocationRelativeTo(null);
  503. setVisible(true);
  504.  
  505.  
  506. // слушатель на кнопку bntOk
  507. this.bntOk.addActionListener(new ActionListener() {
  508.  
  509. @Override
  510. public void actionPerformed(ActionEvent ae) {
  511.  
  512.  
  513. if ( emptyLoginPassTextField(ae, bntOk) ){ // если JTextField не пустое
  514. //Создаем фрейм в потоке обработки событий
  515. SwingUtilities.invokeLater(new Runnable() {
  516. @Override
  517. public void run() {
  518.  
  519. // вызвывем JTableWindow
  520. new JTableWindow();
  521.  
  522. // закрываем окно JFrameLogin
  523. dispose();
  524.  
  525. }
  526. });
  527. }
  528.  
  529. }
  530. });
  531.  
  532. // слушатель на кнопку btnCancel
  533. this.btnCancel.addActionListener(new ActionListener() {
  534. @Override
  535. public void actionPerformed(ActionEvent ae) {
  536. // закрываем окно JFrameLogin
  537. dispose();
  538. }
  539. });
  540.  
  541.  
  542. // слушатель на кнопку btnCreate
  543. this.btnCreate.addActionListener(new ActionListener() {
  544.  
  545.  
  546. @Override
  547. public void actionPerformed(ActionEvent ae) {
  548.  
  549. //Создаем фрейм в потоке обработки событий
  550. SwingUtilities.invokeLater(new Runnable() {
  551. @Override
  552. public void run() {
  553.  
  554. // вызвывем CreateAccount
  555. new CreateAccount();
  556.  
  557. // закрываем окно JFrameLogin
  558. dispose();
  559.  
  560. }
  561. });
  562.  
  563.  
  564. }
  565. });
  566. }
  567.  
  568.  
  569. // устанавливаем иконку JFrameLogin
  570. public void iconLogin(){
  571. /* Toolkit kit =Toolkit.getDefaultToolkit();
  572. Image img = kit.getImage("src\\images\\key32.png");
  573. setIconImage(img);*/
  574. setIconImage(Toolkit.getDefaultToolkit().getImage("src\\images\\key32.png"));
  575. }
  576.  
  577. // проверка заполнено ли LoginTextField JPasswordField
  578. public boolean emptyLoginPassTextField(ActionEvent event, JButton bntOk){
  579. boolean flag = true;
  580.  
  581. if ( (String.valueOf(loginField.getText()).isEmpty()) && (String.valueOf(passwordField.getText()).isEmpty()) ){
  582. message.showMsDialogNoLoginPass(event, bntOk);
  583. flag = false;
  584. }
  585.  
  586. else if ( String.valueOf(loginField.getText()).isEmpty() ){ //если пустое JTextField
  587. message.showMsDialogNoLogin(event, bntOk);
  588. flag = false;
  589. }
  590. else if ( String.valueOf(passwordField.getText()).isEmpty() ){
  591. message.showMsDialogNoPass(event, bntOk);
  592. flag = false;
  593. }
  594. else if ( comparisonIdLoginFieldAndIdPassField() ){
  595. message.showMsDialogIncorrectLoginPass(event, bntOk);
  596. flag = false;
  597. }
  598.  
  599. return flag;
  600. }
  601.  
  602. // проверка значений по ID, JTextField Login и JPasswordField password со значениями в базе данных
  603. public boolean comparisonIdLoginFieldAndIdPassField(){
  604. JButton button = new JButton();
  605.  
  606. boolean flag = false;
  607. int loginId = 0;
  608. int passId = 0;
  609.  
  610. // id логина в БД
  611. loginId = queryInDatabase.searchIdInTable("login1", "NAME", String.valueOf(loginField.getText()),
  612. con, stmt, rs, url, user, password);
  613.  
  614. // id пароля в БД
  615. passId = queryInDatabase.searchIdInTable("pass", "PASSWORDS",
  616. String.valueOf( new String(passwordField.getPassword()) ),con, stmt, rs, url, user, password);
  617.  
  618.  
  619. // вызываем исключения если true
  620. if ( (loginId == 0) && (passId == 0) ) {
  621. flag = true;
  622. }
  623.  
  624. else if ( loginId == 0 || passId == 0 ){
  625. flag = true;
  626. }
  627. else if (loginId != passId){
  628. flag = true;
  629. }
  630.  
  631.  
  632. // message.showMsDialogTEST(button, loginId, passId);
  633.  
  634. return flag;
  635.  
  636.  
  637. }
  638.  
  639.  
  640.  
  641.  
  642. }
  643.  
  644.  
  645. import javax.swing.*;
  646. import javax.swing.event.TableModelEvent;
  647. import javax.swing.table.DefaultTableModel;
  648. import java.awt.*;
  649. import java.awt.event.ActionEvent;
  650. import java.awt.event.ActionListener;
  651. import java.sql.*;
  652. import java.util.ArrayList;
  653. import java.util.Vector;
  654.  
  655. /**
  656. * Created by Admin on 18.11.2016.
  657. */
  658. public class JTableWindow extends JFrame{
  659.  
  660. private static final String url = "jdbc:mysql://localhost:3306/carsfff";
  661. private static final String user = "root";
  662. private static final String password = "root";
  663.  
  664.  
  665. // поля для открытия подключения и получения значенией с Mysql
  666. private static Connection con;
  667. private static Statement stmt;
  668. private static ResultSet rs;
  669.  
  670. Vector<Object> vector = new Vector<>();
  671. //Создадим список из сущностей класса ValueInTable
  672. ArrayList valueInTables = new ArrayList();
  673.  
  674.  
  675. UpdateStringInTable updateStringInTable = new UpdateStringInTable();
  676. SizeButtons sizeButtons = new SizeButtons();
  677. //JButton Update слушатель
  678. ButtonUpdateActListn buttonUpdateActListn = new ButtonUpdateActListn();
  679. // класс по созданию значенией в Mysql
  680. AddValsInMysql addValsInMysql = new AddValsInMysql();
  681. // класс с методом getAllRowsMysql() для получения значения всех строк
  682. GetCountToAllRowsInMysql getCountToAllRowsInMysql = new GetCountToAllRowsInMysql();
  683. // класс с методом removeRowById() // удаляем строку по id
  684. RemoveRowInMysql removeRowInMysql = new RemoveRowInMysql();
  685. // класс с методом showMsDialog() диологовых окон Message
  686. Message message = new Message();
  687. // класс с методом setIdAutoIncrement() перемещает AUTO_INCREMENT на последний элемент ID после удаления
  688. RefreshAutoIncrementForID refreshAutoIncrementForID = new RefreshAutoIncrementForID(con, stmt, rs, url, user, password);
  689.  
  690.  
  691. JButton btnUpdate = new JButton("Update");
  692. JButton btnAdd = new JButton("Add");
  693. JButton btnRemove = new JButton("Remove");
  694. JButton btnRefresh = new JButton("Refresh");
  695. JLabel labelID = new JLabel("ID:");
  696.  
  697.  
  698. // размер поля field 5
  699. JTextField field1 = new JTextField(5);
  700. JTextField field2 = new JTextField(5);
  701. JTextField field3 = new JTextField(5);
  702. JTextField field4 = new JTextField(5);
  703. JTextField field5 = new JTextField(5);
  704. JTextField fieldID = new JTextField(2);
  705.  
  706. //Объект таблицы
  707. JTable jTable;
  708.  
  709.  
  710.  
  711. JTableWindow() {
  712.  
  713. //Создаем новый контейнер JFrame
  714. JFrame jFrame = new JFrame("Mysql V2.0");
  715.  
  716. //размер JButton задает метод sizeBtn() в класе SizeButtons
  717. sizeButtons.sizeBtn(btnUpdate, btnAdd, btnRemove, btnRefresh);
  718.  
  719.  
  720. //Устанавливаем диспетчер компоновки
  721. jFrame.getContentPane().setLayout(new FlowLayout());
  722.  
  723.  
  724. //Устанавливаем размер окна
  725. jFrame.setSize(580, 470);
  726.  
  727. //Устанавливаем завершение программы при закрытии окна
  728. jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  729.  
  730. // Задаем иконку JTableWindow
  731. iconJTableWindow(jFrame);
  732.  
  733. jFrame.add(field1);
  734. jFrame.add(field2);
  735. jFrame.add(field3);
  736. jFrame.add(field4);
  737. jFrame.add(field5);
  738.  
  739. jFrame.add(labelID);
  740.  
  741. //вводим запрос ID в mysql
  742. addIdInTable();
  743.  
  744.  
  745. // получаем данные с конструктора ValueInTables
  746. getArrayListVal(valueInTables);
  747.  
  748.  
  749. //Создадим модель таблицы
  750. MyTableModel tModel = new MyTableModel(valueInTables);
  751.  
  752.  
  753. //вызов метода слушутеля кнопки JButtonUpdate
  754. buttonUpdateActListn.btnUpActListen(btnUpdate, valueInTables, field1,field2,
  755. field3,field4,field5,fieldID, updateStringInTable, url, user, password, con, stmt, rs, tModel);
  756.  
  757.  
  758. // данные обновляются в таблице слушатель на кнопку
  759. btnRefresh.addActionListener(new ActionListener() {
  760. @Override
  761. public void actionPerformed(ActionEvent ae) {
  762.  
  763. // обнуляем ArrayList
  764. valueInTables.clear();
  765. // обуляем вектор
  766. vector.clear();
  767. // заполняем Vector данными с mysql
  768. addIdInTable();
  769. getArrayListVal(valueInTables);
  770. //вызываем метод для вывода сообщения после нажатия кнопки
  771. message.showMsDialogBtnRefresh(ae, btnRefresh);
  772.  
  773. tModel.fireTableDataChanged();
  774. }
  775. });
  776.  
  777. // вызов метода createValsInMysql(), данные добавляются в таблицу Mysql. Слушатель на кнопку
  778. btnAdd.addActionListener(new ActionListener() {
  779. @Override
  780. public void actionPerformed(ActionEvent ae) {
  781. // создание записей в Mysql
  782. addValsInMysql.createValsInMysql(field1, field2, field3, field4, field5,
  783. con, stmt, rs, url, user, password);
  784. // вывод сообщения после нажатия кнопки о добавлении строки с ID
  785. message.showMsDialogBtnAdd(ae, btnAdd);
  786.  
  787. tModel.fireTableDataChanged();
  788. }
  789. });
  790.  
  791.  
  792. // слушатель на кнопку Remove
  793. btnRemove.addActionListener(new ActionListener() {
  794. @Override
  795. public void actionPerformed(ActionEvent ae) {
  796.  
  797. // удаление строк в Mysql по id
  798. removeRowInMysql.removeRowById(con, stmt, rs, url, user, password,
  799. Integer.valueOf(String.valueOf(fieldID.getText())));
  800. // выводим сообщение после удаления
  801. message.showMsDialogBtnRemove(ae, btnRemove, Integer.valueOf(String.valueOf(fieldID.getText())) );
  802.  
  803. // перемещаем auto_increment ID на последний елемент ID
  804. refreshAutoIncrementForID.setIdAutoIncrement();
  805.  
  806. tModel.fireTableDataChanged();
  807. }
  808. });
  809.  
  810.  
  811. //На основе модели, создадим новую JTable
  812. jTable = new JTable(tModel);
  813.  
  814.  
  815.  
  816. //Создаем панель прокрутки и включаем в ее состав нашу таблицу
  817. JScrollPane jscrlp = new JScrollPane(jTable);
  818.  
  819.  
  820. //Устаналиваем размеры прокручиваемой области
  821. jTable.setPreferredScrollableViewportSize(new Dimension(550, 200));
  822.  
  823. //Добавляем в контейнер нашу панель прокрути и таблицу вместе с ней
  824. jFrame.getContentPane().add(jscrlp);
  825.  
  826.  
  827. // добавляем кнопку на JFrame
  828. jFrame.getContentPane().add( labelID );
  829. jFrame.getContentPane().add( fieldID );
  830. jFrame.getContentPane().add( btnUpdate );
  831. jFrame.getContentPane().add( btnRefresh );
  832. jFrame.getContentPane().add( btnAdd );
  833. jFrame.getContentPane().add( btnRemove );
  834.  
  835.  
  836. // отображение фрейма по центру
  837. jFrame.setLocationRelativeTo(null);
  838.  
  839. //Отображаем контейнер
  840. jFrame.setVisible(true);
  841. }
  842.  
  843.  
  844.  
  845. //в Vector-лист добавляются значения каждая новая строка по номеру id
  846. public void conToMysql(int id){
  847.  
  848. String query = "SELECT * FROM tbl1 where id=" + "'" + id + "'";
  849.  
  850. try {
  851. // opening database connection to MySQL server
  852. con = DriverManager.getConnection(url, user, password);
  853.  
  854. // getting Statement object to execute query
  855. stmt = con.createStatement();
  856.  
  857. // executing SELECT query
  858. rs = stmt.executeQuery(query);
  859.  
  860. // к-тво всех столбцов в таблице
  861. int allCol = rs.getMetaData().getColumnCount();
  862.  
  863. /*Вывод всей строки таблици из БД в Vector*/
  864. while (rs.next()) {
  865. for (int i = 1; i <= allCol; i++) {
  866. vector.add(rs.getObject(i));
  867. }
  868. }
  869.  
  870.  
  871. } catch (SQLException sqlEx) {
  872. sqlEx.printStackTrace();
  873. } finally {
  874. //close connection ,stmt and resultset here
  875. try { con.close(); } catch(SQLException se) { /*can't do anything */ }
  876. try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
  877. try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
  878. }
  879.  
  880.  
  881. }
  882.  
  883.  
  884. // метод с соединением и обновлением таблицы
  885. void addIdInTable(){
  886. for (int id = 1; id <= getCountToAllRowsInMysql.getAllRowsMysql(con, stmt, rs, url, user, password); id++)
  887. conToMysql(id);
  888. }
  889.  
  890. // получение ячеек таблицы с конструктора ValueInTable()
  891. void getArrayListVal(ArrayList valueInTables){
  892.  
  893. int getAllRows = getCountToAllRowsInMysql.getAllRowsMysql(con,stmt,rs,url,user,password);
  894. // получаем значения с Vector-а и выводим их в JTAble
  895. for (int val0 = 0, val1 = 1, val2 = 2, val3 = 3, val4 = 4, val5 = 5; val5 < 6 * getAllRows; val0 +=6, val1 +=6, val2 +=6, val3 +=6, val4 +=6, val5 +=6 ) {
  896. valueInTables.add( new ValueInTable(vector.get(val0), vector.get(val1), vector.get(val2),
  897. vector.get(val3), vector.get(val4), vector.get(val5) ));
  898. }
  899.  
  900. }
  901.  
  902.  
  903.  
  904.  
  905. public static void main(String[] args) {
  906.  
  907. //Создаем фрейм в потоке обработки событий
  908. SwingUtilities.invokeLater(new Runnable() {
  909. @Override
  910. public void run() {
  911. // new JTableWindow();
  912. new JFrameLogin();
  913. // new CreateAccount();
  914. }
  915. });
  916. }
  917.  
  918.  
  919. // устанавливаем иконку JFrameLogin
  920. public void iconJTableWindow(JFrame jFrame){
  921.  
  922.  
  923. jFrame.setIconImage(Toolkit.getDefaultToolkit().getImage("src\\images\\databaseTable.png"));
  924. // Toolkit kit = Toolkit.getDefaultToolkit();
  925. // Image img = kit.getImage("src\\images\\databaseTable.png");
  926. // setIconImage(img);
  927. }
  928.  
  929. }
  930.  
  931.  
  932. import javax.swing.*;
  933. import java.awt.*;
  934. import java.awt.event.ActionEvent;
  935.  
  936. /**
  937. * Created by Admin on 25.11.2016.
  938. */
  939. public class Message {
  940.  
  941. public void showMsDialogBtnRefresh(ActionEvent event, JButton btnRefresh) {
  942. if (event.getSource() == btnRefresh) {
  943. JOptionPane.showMessageDialog(btnRefresh, "Таблица обновлена",
  944. "Message Information", JOptionPane.INFORMATION_MESSAGE);
  945. }
  946. }
  947.  
  948. public void showMsDialogBtnUpdate(ActionEvent event, JButton btnUpdate, int id) {
  949. if (event.getSource() == btnUpdate){
  950. JOptionPane.showMessageDialog(btnUpdate, "Поле ID "+ id +" обновлено",
  951. "Message Information" , JOptionPane.INFORMATION_MESSAGE);
  952. }
  953. }
  954.  
  955. public void showMsDialogBtnAdd(ActionEvent event, JButton btnAdd) {
  956. if (event.getSource() == btnAdd){
  957. JOptionPane.showMessageDialog(btnAdd, "Строка добавлена",
  958. "Message Information", JOptionPane.INFORMATION_MESSAGE);
  959. }
  960. }
  961.  
  962. public void showMsDialogBtnRemove(ActionEvent event, JButton btnRemove, int id) {
  963. if (event.getSource() == btnRemove){
  964. JOptionPane.showMessageDialog(btnRemove, "Поле ID "+ id +" удалено",
  965. "Message Information", JOptionPane.INFORMATION_MESSAGE);
  966. }
  967. }
  968.  
  969. // сообщение об удачном добавлении Логина и Пароля в БД
  970. public void showMsDialogLoginAndPassAddInBD(ActionEvent event, JButton btn){
  971. if (event.getSource() == btn){
  972. JOptionPane.showMessageDialog(btn, "Учетная запись создана",
  973. "Information message", JOptionPane.INFORMATION_MESSAGE);
  974. }
  975. }
  976.  
  977. // для вывода предупреждения в Login или Create JFrame
  978. public void showMsDialogNoLogin(ActionEvent event, JButton btn){
  979. if (event.getSource() == btn){
  980. JOptionPane.showMessageDialog(btn, "Введите логин!",
  981. "Warning Message", JOptionPane.WARNING_MESSAGE);
  982. }
  983. }
  984.  
  985. // для вывода предупреждения в Login или Create JFrame
  986. public void showMsDialogNoPass(ActionEvent event, JButton btn){
  987. if (event.getSource() == btn){
  988. JOptionPane.showMessageDialog(btn, "Введите пароль!",
  989. "Warning Message", JOptionPane.WARNING_MESSAGE);
  990. }
  991. }
  992.  
  993. // для вывода предупреждения в Login или Create JFrame
  994. public void showMsDialogNoLoginPass(ActionEvent event, JButton btn){
  995. if (event.getSource() == btn){
  996. JOptionPane.showMessageDialog(btn, "Введите логин и пароль!",
  997. "Warning Message", JOptionPane.WARNING_MESSAGE);
  998. }
  999. }
  1000.  
  1001. // для вывода предупреждения в login JFrame
  1002. public void showMsDialogIncorrectLoginPass(ActionEvent event, JButton btn){
  1003. if (event.getSource() == btn){
  1004. JOptionPane.showMessageDialog(btn, "Не верный логин или пароль!",
  1005. "Warning Message", JOptionPane.WARNING_MESSAGE);
  1006. }
  1007. }
  1008.  
  1009. // проверяется совподает ли длина паролей pass1 и pass2 в class CreateAccount
  1010. public void showMsDialogPass1Pass2NotEquels(ActionEvent event, JButton btn){
  1011. if (event.getSource() == btn){
  1012. JOptionPane.showMessageDialog(btn, "Пароли не совпадают!",
  1013. "Warning Message", JOptionPane.WARNING_MESSAGE);
  1014. }
  1015. }
  1016.  
  1017. // выводится сообщение о том что логин в БД уже создан
  1018. public void showMsDialogLoginAlreadyInDB(ActionEvent event, JButton btn){
  1019. if (event.getSource() == btn){
  1020. JOptionPane.showMessageDialog(btn, "Такой логин уже существует!",
  1021. "Warning Message", JOptionPane.WARNING_MESSAGE);
  1022. }
  1023. }
  1024.  
  1025.  
  1026.  
  1027. // для вывода Тестового сообщения
  1028. public void showMsDialogTEST(JButton btn, int loginID, int pass){
  1029. // if (event.getSource() == btn){
  1030. JOptionPane.showMessageDialog(btn, String.valueOf(loginID) + " " +pass,
  1031. "Warning Message", JOptionPane.WARNING_MESSAGE);
  1032. // }
  1033. }
  1034.  
  1035.  
  1036. }
  1037.  
  1038.  
  1039.  
  1040. import javax.swing.table.AbstractTableModel;
  1041. import java.util.ArrayList;
  1042.  
  1043. /**
  1044. * Created by Admin on 18.11.2016.
  1045. */
  1046.  
  1047.  
  1048. public class MyTableModel extends AbstractTableModel{
  1049.  
  1050. ArrayList<ValueInTable> valueInTable;
  1051.  
  1052. MyTableModel(ArrayList<ValueInTable> valueInTable){
  1053. super();
  1054. this.valueInTable = valueInTable;
  1055. }
  1056.  
  1057. @Override
  1058. public int getRowCount() {
  1059. return valueInTable.size();
  1060. }
  1061.  
  1062.  
  1063. // к-тво столбцов
  1064. @Override
  1065. public int getColumnCount() {
  1066. return 6;
  1067. }
  1068.  
  1069. //данные в ячейке
  1070. @Override
  1071. public Object getValueAt(int rowIndex, int columnIndex) {
  1072. if (columnIndex == 0)
  1073. return valueInTable.get(rowIndex).getId();
  1074. else if (columnIndex == 1)
  1075. return valueInTable.get(rowIndex).getCode();
  1076. else if (columnIndex == 2)
  1077. return valueInTable.get(rowIndex).getType();
  1078. else if (columnIndex == 3)
  1079. return valueInTable.get(rowIndex).getQuantity();
  1080. else if (columnIndex == 4)
  1081. return valueInTable.get(rowIndex).getPrice();
  1082. else if (columnIndex == 5)
  1083. return valueInTable.get(rowIndex).getYear();
  1084. else
  1085. return "Other_Column";
  1086.  
  1087. }
  1088.  
  1089. public String getColumnName(int c){
  1090. if (c == 0)
  1091. return "id";
  1092. else if (c == 1)
  1093. return "Code ";
  1094. else if (c == 2)
  1095. return "Type ";
  1096. else if (c == 3)
  1097. return "Quantity ";
  1098. else if (c == 4)
  1099. return "Price ";
  1100. else if (c == 5)
  1101. return "Year ";
  1102. else
  1103. return "------";
  1104. }
  1105. }
  1106.  
  1107.  
  1108.  
  1109. import java.sql.*;
  1110.  
  1111. /**
  1112. * Created by Admin on 28.11.2016.
  1113. */
  1114. public class QueryInDatabase {
  1115.  
  1116. boolean flag = false;
  1117.  
  1118. // поиск Id в таблице БД по имени таблици, имени колонки этой таблици и имени значения в таблице
  1119. // ПЕРЕВЕДЕННОЕ В БИНАРНЫЙ ВИД
  1120. public int searchIdInTable(String nameTable, String nameColumn, String nameValTable,
  1121. Connection con, Statement stmt, ResultSet rs,
  1122. String url, String user, String password){
  1123.  
  1124. int ID = 0;
  1125.  
  1126. String query = "SELECT id FROM " + nameTable + " where " + "BINARY " + nameColumn+ "=" + "'" + nameValTable + "'";
  1127.  
  1128. try {
  1129. // opening database connection to MySQL server
  1130. con = DriverManager.getConnection(url, user, password);
  1131.  
  1132. // getting Statement object to execute query
  1133. stmt = con.createStatement();
  1134.  
  1135. // executing SELECT query
  1136. rs = stmt.executeQuery(query);
  1137.  
  1138. // к-тво всех столбцов в таблице
  1139. int allCol = rs.getMetaData().getColumnCount();
  1140.  
  1141. /*Вывод номер ID*/
  1142. while (rs.next()) {
  1143. ID = rs.getInt(1);
  1144. }
  1145.  
  1146.  
  1147. } catch (SQLException sqlEx) {
  1148. sqlEx.printStackTrace();
  1149. } finally {
  1150. //close connection ,stmt and resultset here
  1151. try { con.close(); } catch(SQLException se) { /*can't do anything */ }
  1152. try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
  1153. try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
  1154. }
  1155.  
  1156. return ID;
  1157.  
  1158. }
  1159.  
  1160.  
  1161. // добавляем запись в БД логины пароли
  1162. public void addValuesInBD(String nameTable, String nameColumn, String nameValTable,
  1163. Connection con, Statement stmt,
  1164. String url, String user, String password){
  1165.  
  1166.  
  1167. // поля для обновления значенией в Mysql
  1168.  
  1169. String query = "insert into "+ nameTable +" ("+nameColumn+") " + "values" + " ('"+nameValTable+"')";
  1170.  
  1171. try {
  1172. // opening database connection to MySQL server
  1173. con = DriverManager.getConnection(url, user, password);
  1174.  
  1175. // getting Statement object to execute query
  1176. stmt = con.createStatement();
  1177.  
  1178. // executing SELECT query
  1179. stmt.executeUpdate(query);
  1180.  
  1181.  
  1182. } catch (SQLException sqlEx) {
  1183. sqlEx.printStackTrace();
  1184. } finally {
  1185. //close connection ,stmt and resultset here
  1186. try { con.close(); } catch(SQLException se) { /*can't do anything */ }
  1187. try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
  1188.  
  1189. }
  1190.  
  1191. }
  1192.  
  1193. }
  1194.  
  1195.  
  1196. import java.sql.*;
  1197.  
  1198. /**
  1199. * Created by Admin on 25.11.2016.
  1200. */
  1201. public class RefreshAutoIncrementForID {
  1202.  
  1203. Connection con;
  1204. Statement stmt;
  1205. ResultSet rs;
  1206. String url = "", user = "", password = "";
  1207.  
  1208.  
  1209. RefreshAutoIncrementForID(Connection con, Statement stmt, ResultSet rs, String url, String user, String password){
  1210. this.con = con;
  1211. this.stmt = stmt;
  1212. this.rs = rs;
  1213. this.url = url;
  1214. this.user = user;
  1215. this.password = password;
  1216. }
  1217.  
  1218. int maxCountID = 0;
  1219.  
  1220. //узнаем к-тво элементов в столбце ID
  1221. public int takeLengthFromId(){
  1222.  
  1223. String query = "SELECT max(id) from tbl1";
  1224.  
  1225. try {
  1226. // opening database connection to MySQL server
  1227. con = DriverManager.getConnection(url, user, password);
  1228.  
  1229. // getting Statement object to execute query
  1230. stmt = con.createStatement();
  1231.  
  1232. // executing SELECT query
  1233. rs = stmt.executeQuery(query);
  1234.  
  1235.  
  1236. /*Вывод всей строки таблици из БД в Vector*/
  1237. while (rs.next()) {
  1238. maxCountID = rs.getInt(1);
  1239. }
  1240.  
  1241.  
  1242. } catch (SQLException sqlEx) {
  1243. sqlEx.printStackTrace();
  1244. } finally {
  1245. //close connection ,stmt and resultset here
  1246. try { con.close(); } catch(SQLException se) { /*can't do anything */ }
  1247. try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
  1248. try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
  1249. }
  1250.  
  1251. return maxCountID;
  1252. }
  1253.  
  1254. // задаем AUTO_INCREMENT-у индекс ID с которого нужно начать добавлять id
  1255. public void setIdAutoIncrement(){
  1256.  
  1257. String query = "alter table tbl1 auto_increment=" + ( (int)(takeLengthFromId() + 1));
  1258.  
  1259. try {
  1260. // opening database connection to MySQL server
  1261. con = DriverManager.getConnection(url, user, password);
  1262.  
  1263. // getting Statement object to execute query
  1264. stmt = con.createStatement();
  1265.  
  1266. // executing SELECT query
  1267. stmt.executeUpdate(query);
  1268.  
  1269.  
  1270. } catch (SQLException sqlEx) {
  1271. sqlEx.printStackTrace();
  1272. } finally {
  1273. //close connection ,stmt and resultset here
  1274. try { con.close(); } catch(SQLException se) { /*can't do anything */ }
  1275. try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
  1276. try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
  1277. }
  1278. }
  1279.  
  1280.  
  1281.  
  1282. }
  1283.  
  1284.  
  1285. import javax.swing.*;
  1286. import java.sql.*;
  1287.  
  1288. /**
  1289. * Created by Admin on 24.11.2016.
  1290. */
  1291. public class RemoveRowInMysql {
  1292.  
  1293.  
  1294. void removeRowById(Connection con, Statement stmt, ResultSet rs, String url, String user,
  1295. String password, int id){
  1296. // поля для удаления строки в Mysql по Id
  1297.  
  1298. String queryR = "DELETE FROM tbl1 WHERE ID=" + "'" + id + "'";
  1299.  
  1300. try {
  1301. // opening database connection to MySQL server
  1302. con = DriverManager.getConnection(url, user, password);
  1303.  
  1304. // getting Statement object to execute query
  1305. stmt = con.createStatement();
  1306.  
  1307. // executing SELECT query
  1308. stmt.executeUpdate(queryR);
  1309.  
  1310.  
  1311. } catch (SQLException sqlEx) {
  1312. sqlEx.printStackTrace();
  1313. } finally {
  1314. //close connection ,stmt and resultset here
  1315. try { con.close(); } catch(SQLException se) { /*can't do anything */ }
  1316. try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
  1317. try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
  1318. }
  1319. }
  1320. }
  1321.  
  1322.  
  1323.  
  1324. import javax.swing.*;
  1325. import java.awt.*;
  1326.  
  1327. /**
  1328. * Created by Admin on 24.11.2016.
  1329. */
  1330. public class SizeButtons {
  1331.  
  1332. public void sizeBtn(JButton btnUpdate, JButton btnAdd, JButton btnRemove, JButton btnRefresh){
  1333. //разммер кнопок
  1334. btnUpdate.setPreferredSize(new Dimension(100, 20));
  1335. btnAdd.setPreferredSize(new Dimension(100, 20));
  1336. btnRemove.setPreferredSize(new Dimension(100, 20));
  1337. btnRefresh.setPreferredSize(new Dimension(100, 20));
  1338. }
  1339.  
  1340. // метод для кнопок Login панели
  1341. public void setSizeBtnLogin(JButton btnOk, JButton btnCancel, JButton btnCreate){
  1342. btnOk.setPreferredSize(new Dimension(60, 20));
  1343. btnCancel.setPreferredSize(new Dimension(83, 20));
  1344. btnCreate.setPreferredSize(new Dimension(83, 20));
  1345. }
  1346.  
  1347. // метод для кнопок CreateAccont панели
  1348. public void setSizeBtnCreateAccount(JButton btnOk, JButton btnCancel){
  1349. btnOk.setPreferredSize(new Dimension(83, 20));
  1350. btnCancel.setPreferredSize(new Dimension(83, 20));
  1351. }
  1352.  
  1353. }
  1354.  
  1355.  
  1356. import javax.swing.*;
  1357. import java.sql.*;
  1358.  
  1359. /**
  1360. * Created by Admin on 21.11.2016.
  1361. */
  1362. public class UpdateStringInTable {
  1363.  
  1364.  
  1365.  
  1366. public void updateValues(String url, String user, String password, JTextField field1, JTextField field2,
  1367. JTextField field3,JTextField field4,JTextField field5,
  1368. Connection con, Statement stmt, ResultSet rs, int fieldId ){
  1369. // поля для обновления значенией в Mysql
  1370.  
  1371. String query1 = "update tbl1 set CODE=" + "'"+ field1.getText() +"'" + "where id="+"'"+ fieldId +"'";
  1372. String query2 = "update tbl1 set TYPE=" + "'"+ field2.getText() +"'" + "where id="+"'"+ fieldId +"'";
  1373. String query3 = "update tbl1 set QUANTITY=" + "'"+ field3.getText() +"'" + "where id="+"'"+ fieldId +"'";
  1374. String query4 = "update tbl1 set PRICE=" + "'"+ field4.getText() +"'" + "where id="+"'"+ fieldId +"'";
  1375. String query5 = "update tbl1 set YEAR=" + "'"+ field5.getText() +"'" + "where id="+"'"+ fieldId +"'";
  1376.  
  1377. try {
  1378. // opening database connection to MySQL server
  1379. con = DriverManager.getConnection(url, user, password);
  1380.  
  1381. // getting Statement object to execute query
  1382. stmt = con.createStatement();
  1383.  
  1384. // executing SELECT query
  1385. stmt.executeUpdate(query1);
  1386. stmt.executeUpdate(query2);
  1387. stmt.executeUpdate(query3);
  1388. stmt.executeUpdate(query4);
  1389. stmt.executeUpdate(query5);
  1390.  
  1391. } catch (SQLException sqlEx) {
  1392. sqlEx.printStackTrace();
  1393. } finally {
  1394. //close connection ,stmt and resultset here
  1395. try { con.close(); } catch(SQLException se) { /*can't do anything */ }
  1396. try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
  1397. try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
  1398. }
  1399. }
  1400.  
  1401. }
  1402.  
  1403.  
  1404.  
  1405. import java.util.ArrayList;
  1406.  
  1407. /**
  1408. * Created by Admin on 18.11.2016.
  1409. */
  1410. public class ValueInTable {
  1411. Object id;
  1412. Object code;
  1413. Object type;
  1414. Object quantity;
  1415. Object price;
  1416. Object year;
  1417.  
  1418. public ValueInTable(Object id, Object code, Object type, Object quantity, Object price, Object year){
  1419. this.id = id;
  1420. this.code = code;
  1421. this.type = type;
  1422. this.quantity = quantity;
  1423. this.price = price;
  1424. this.year = year;
  1425. }
  1426.  
  1427. public ValueInTable(Object code, Object type, Object quantity, Object price, Object year){
  1428. this.code = code;
  1429. this.type = type;
  1430. this.quantity = quantity;
  1431. this.price = price;
  1432. this.year = year;
  1433. }
  1434.  
  1435. public Object getId() { return id; }
  1436.  
  1437. public Object getCode(){
  1438. return code;
  1439. }
  1440.  
  1441. public Object getType(){
  1442. return type;
  1443. }
  1444.  
  1445. public Object getQuantity(){
  1446. return quantity;
  1447. }
  1448.  
  1449. public Object getPrice(){
  1450. return price;
  1451. }
  1452.  
  1453. public Object getYear(){
  1454. return year;
  1455. }
  1456.  
  1457. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement