Advertisement
Guest User

Untitled

a guest
Nov 28th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.98 KB | None | 0 0
  1. package L7;
  2.  
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5.  
  6. public class Persoana {
  7. private int id;
  8. private String nume;
  9. private int varsta;
  10.  
  11. public Persoana(int id, String nume, int varsta){
  12. this.id=id;
  13. this.nume=nume;
  14. this.varsta=varsta;
  15. }
  16.  
  17. public Persoana(ResultSet rs) throws SQLException{
  18. this(rs.getInt(1), rs.getString(2), rs.getInt(3));
  19. }
  20.  
  21. public int getId() {
  22. return id;
  23. }
  24. public void setId(int id) {
  25. this.id = id;
  26. }
  27. public String getNume() {
  28. return nume;
  29. }
  30. public void setNume(String nume) {
  31. this.nume = nume;
  32. }
  33. public int getVarsta() {
  34. return varsta;
  35. }
  36. public void setVarsta(int varsta) {
  37. this.varsta = varsta;
  38. }
  39.  
  40. }
  41. package L7;
  42.  
  43. import java.sql.*;
  44.  
  45. import com.mysql.jdbc.*;
  46.  
  47. import java.sql.Connection;
  48. import java.sql.PreparedStatement;
  49. import java.sql.ResultSet;
  50. import java.sql.Statement;
  51.  
  52. public class MainApp {
  53. public static void main(String[]args) throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException{
  54. String url = "jdbc:mysql://localhost:3306/test";
  55. //String url = "jdbc:mysql://localhost:3306/world";
  56. Statement sql;
  57. ResultSet rs;
  58. Class.forName ("com.mysql.jdbc.Driver").newInstance ();
  59. java.sql.Connection con = DriverManager.getConnection (url, "root", "root");
  60. sql = (Statement) con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
  61. ResultSet.CONCUR_UPDATABLE);
  62. rs = sql.executeQuery("select * from persoane");
  63. while (rs.next())
  64. System.out.println("id="+rs.getInt("Id")+", nume= " + rs.getString("nume")+ ", varsta=" + rs.getInt(3));
  65. DB_App app = new DB_App(sql);
  66. app.setVisible(true);
  67. }
  68. }
  69. package L7;
  70.  
  71. import L7.Persoana;
  72.  
  73. import java.awt.BorderLayout;
  74. import java.awt.Component;
  75. import java.awt.Dimension;
  76. import java.awt.GridLayout;
  77. import java.awt.event.ActionEvent;
  78. import java.awt.event.ActionListener;
  79. import java.awt.font.NumericShaper;
  80. import java.sql.ResultSet;
  81. import java.sql.SQLException;
  82. import java.sql.Statement;
  83. import java.util.ArrayList;
  84. import java.util.List;
  85.  
  86. import javax.swing.*;
  87.  
  88.  
  89. public class DB_App extends JFrame implements ActionListener{
  90. ResultSet rs;
  91. Persoana persoanaSelectata;
  92. Statement sql;
  93. int length, index;
  94. boolean addElement;
  95.  
  96. private static final String SELECT_ALL_FROM_PERSOANE = "select * from persoane";
  97.  
  98. private JToolBar toolbar = new JToolBar();
  99. private JTextField idTextField= new JTextField();
  100. private JTextField nameTextField= new JTextField();
  101. private JTextField ageTextField= new JTextField();
  102.  
  103. private JButton moveFirstButton = new JButton();
  104. private JButton movePreviousButton = new JButton();
  105. private JButton moveLastButton = new JButton();
  106. private JButton moveNextButton = new JButton();
  107. private JButton addButton = new JButton();
  108. private JButton saveButton = new JButton();
  109. private JButton deleteButton = new JButton();
  110. private JButton undoButton = new JButton();
  111. private JButton findButton = new JButton();
  112. private JButton editButton = new JButton();
  113. private JTextField toolbarText = new JTextField();
  114. protected Component pointer;
  115.  
  116. public DB_App(Statement sql) throws SQLException{
  117. super("Tabelul MySQL - persoane");
  118. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  119. setSize(400,300);
  120. getContentPane().setLayout(new BorderLayout());
  121.  
  122. toolbarText.setEditable(false);
  123. pointer = this;
  124.  
  125. this.sql = sql;
  126. calculateLength();
  127. rs = sql.executeQuery(SELECT_ALL_FROM_PERSOANE);
  128.  
  129. index=1;
  130. rs.first();
  131. setPersoanaInfo();
  132.  
  133. setViewInfo();
  134.  
  135.  
  136.  
  137. moveFirstButton.setIcon(new ImageIcon("Imagini/MoveFirst.png"));
  138. moveFirstButton.addActionListener(new ActionListener() {
  139.  
  140. @Override
  141. public void actionPerformed(ActionEvent e) {
  142. // TODO Auto-generated method stub
  143. try {
  144. rs.first();
  145. index=1;
  146. setViewInfo();
  147. } catch (SQLException e1) {
  148. // TODO Auto-generated catch block
  149. e1.printStackTrace();
  150. }
  151. }
  152. });
  153. movePreviousButton.setIcon(new ImageIcon("Imagini/MovePrevious.png"));
  154. movePreviousButton.addActionListener(new ActionListener() {
  155.  
  156. @Override
  157. public void actionPerformed(ActionEvent e) {
  158. try {
  159. rs.previous();
  160. index--;
  161. setViewInfo();
  162. } catch (SQLException e1) {
  163. // TODO Auto-generated catch block
  164. e1.printStackTrace();
  165. }
  166. // TODO Auto-generated method stub
  167. }
  168. });
  169. moveNextButton.setIcon(new ImageIcon("Imagini/MoveNext.png"));
  170. moveNextButton.addActionListener(new ActionListener() {
  171.  
  172. @Override
  173. public void actionPerformed(ActionEvent e) {
  174. // TODO Auto-generated method stub
  175. try {
  176. rs.next();
  177. index++;
  178. setViewInfo();
  179. } catch (SQLException e1) {
  180. // TODO Auto-generated catch block
  181. e1.printStackTrace();
  182. }
  183. }
  184. });
  185. moveLastButton.setIcon(new ImageIcon("Imagini/MoveLast.png"));
  186. moveLastButton.addActionListener(new ActionListener() {
  187.  
  188. @Override
  189. public void actionPerformed(ActionEvent e) {
  190. // TODO Auto-generated method stub
  191. try {
  192. rs.last();
  193. index=length;
  194. setViewInfo();
  195. } catch (SQLException e1) {
  196. // TODO Auto-generated catch block
  197. e1.printStackTrace();
  198. }
  199. }
  200. });
  201. addButton.setIcon(new ImageIcon("Imagini/Add.png"));
  202. addButton.addActionListener(new ActionListener() {
  203.  
  204. @Override
  205. public void actionPerformed(ActionEvent e) {
  206. // TODO Auto-generated method stub
  207. setViewAdd();
  208. }
  209. });
  210. editButton.setIcon(new ImageIcon("Imagini/Edit.png"));
  211. editButton.addActionListener(new ActionListener() {
  212.  
  213. @Override
  214. public void actionPerformed(ActionEvent e) {
  215. // TODO Auto-generated method stub
  216. setViewEdit();
  217. }
  218. });
  219. deleteButton.setIcon(new ImageIcon("Imagini/Delete.png"));
  220. deleteButton.addActionListener(new ActionListener() {
  221.  
  222. @Override
  223. public void actionPerformed(ActionEvent e) {
  224. // TODO Auto-generated method stub
  225. int result = JOptionPane.showConfirmDialog(pointer,
  226. "Vreti sa stergeti persoana "
  227. + persoanaSelectata.getNume() + "?",
  228. "delete confirm", JOptionPane.YES_NO_OPTION);
  229. if (result == JOptionPane.YES_OPTION) {
  230. try {
  231. rs.deleteRow();
  232. if(index>1){
  233. index--;
  234. }
  235. else if (index==1 && length>2){
  236. rs.next();
  237. }
  238. persoanaSelectata = new Persoana(rs);
  239. length--;
  240. setViewInfo();
  241. } catch (SQLException e1) {
  242. // TODO Auto-generated catch block
  243. e1.printStackTrace();
  244. }
  245. }
  246. }
  247. });
  248. findButton.setIcon(new ImageIcon("Imagini/find.jpg"));
  249. findButton.addActionListener(new ActionListener() {
  250.  
  251. @Override
  252. public void actionPerformed(ActionEvent e) {
  253. // TODO Auto-generated method stub
  254. try {
  255. String[] optiuni = new String[length];
  256. ResultSet rsNume = sql.executeQuery("select nume from persoane");
  257. int i = 0;
  258. while (rsNume.next()) {
  259. optiuni[i] = rsNume.getString(1);
  260. i++;
  261. }
  262. String nume = (String) JOptionPane.showInputDialog(pointer, "Persoana cautata: ", "Cauta persoana",
  263. JOptionPane.PLAIN_MESSAGE, null, optiuni, optiuni[0]);
  264. if (nume != null && nume.length() > 0) {
  265. rs = sql.executeQuery(SELECT_ALL_FROM_PERSOANE);
  266. rs.beforeFirst();
  267. index=1;
  268. while(rs.next() && !rs.getString(2).equals(nume))
  269. index++;
  270. persoanaSelectata = new Persoana(rs);
  271. setViewInfo();
  272. }
  273. } catch (SQLException e1) {
  274. e1.printStackTrace();
  275. }
  276. }
  277. });
  278. saveButton.setIcon(new ImageIcon("Imagini/save.jpg"));
  279. saveButton.addActionListener(new ActionListener() {
  280.  
  281. @Override
  282. public void actionPerformed(ActionEvent e) {
  283. // TODO Auto-generated method stub
  284. try {
  285. int result = JOptionPane.showConfirmDialog(pointer,
  286. "Vreti sa salvati modificarile?", "delete confirm",
  287. JOptionPane.YES_NO_OPTION);
  288. if (result == JOptionPane.YES_OPTION) {
  289. if (addElement) {
  290. rs.moveToInsertRow();
  291. rs.updateInt(1,
  292. Integer.parseInt(idTextField.getText()));
  293. rs.updateString(2, nameTextField.getText());
  294. rs.updateInt(3,
  295. Integer.parseInt(ageTextField.getText()));
  296. rs.insertRow();
  297. rs.last();
  298. persoanaSelectata = new Persoana(rs);
  299. length++;
  300. index = length;
  301. } else {
  302. rs.updateInt(1,
  303. Integer.parseInt(idTextField.getText()));
  304. rs.updateString(2, nameTextField.getText());
  305. rs.updateInt(3,
  306. Integer.parseInt(ageTextField.getText()));
  307. rs.updateRow();
  308. persoanaSelectata = new Persoana(rs);
  309. }
  310. }
  311. setViewInfo();
  312. } catch (SQLException e1) {
  313. // TODO Auto-generated catch block
  314. e1.printStackTrace();
  315. }
  316. }
  317. });
  318. undoButton.setIcon(new ImageIcon("Imagini/undo.jpg"));
  319. undoButton.addActionListener(new ActionListener() {
  320.  
  321. @Override
  322. public void actionPerformed(ActionEvent arg0) {
  323. // TODO Auto-generated method stub
  324. int result = JOptionPane.showConfirmDialog(pointer,
  325. "Vreti sa anulati modificarile?",
  326. "delete confirm", JOptionPane.YES_NO_OPTION);
  327. if (result == JOptionPane.YES_OPTION) {
  328. try {
  329. setViewInfo();
  330. } catch (SQLException e) {
  331. // TODO Auto-generated catch block
  332. e.printStackTrace();
  333. }
  334. }
  335. }
  336. });
  337.  
  338. toolbar.add(moveFirstButton);
  339. toolbar.add(movePreviousButton);
  340. toolbar.add(toolbarText);
  341. toolbar.add(moveNextButton);
  342. toolbar.add(moveLastButton);
  343. toolbar.add(addButton);
  344. toolbar.add(editButton);
  345. toolbar.add(deleteButton);
  346. toolbar.add(findButton);
  347. toolbar.add(saveButton);
  348. toolbar.add(undoButton);
  349.  
  350. JLabel idLabel = new JLabel(" ID ");
  351. JLabel nameLabel = new JLabel(" Nume ");
  352. JLabel ageLabel = new JLabel(" Varsta ");
  353.  
  354. idTextField.setPreferredSize(new Dimension(200,30));
  355. nameTextField.setPreferredSize(new Dimension(200,30));
  356. ageTextField.setPreferredSize(new Dimension(200,30));
  357.  
  358. JPanel contentPanel = new JPanel();
  359. contentPanel.setLayout(new GridLayout(3,2));
  360. contentPanel.add(idLabel);
  361. contentPanel.add(idTextField);
  362. contentPanel.add(nameLabel);
  363. contentPanel.add(nameTextField);
  364. contentPanel.add(ageLabel);
  365. contentPanel.add(ageTextField);
  366.  
  367. add(BorderLayout.NORTH, toolbar);
  368. add(BorderLayout.CENTER, contentPanel);
  369. }
  370.  
  371.  
  372. private void setViewInfo() throws SQLException{
  373.  
  374. toolbarText.setText(index + "/" + length);
  375.  
  376. moveFirstButton.setEnabled(true);
  377. movePreviousButton.setEnabled(true);
  378. moveLastButton.setEnabled(true);
  379. moveNextButton.setEnabled(true);
  380. addButton.setEnabled(true);
  381. deleteButton.setEnabled(true);
  382. findButton.setEnabled(true);
  383. editButton.setEnabled(true);
  384. saveButton.setEnabled(false);
  385. undoButton.setEnabled(false);
  386. idTextField.setEditable(false);
  387. nameTextField.setEditable(false);
  388. ageTextField.setEditable(false);
  389.  
  390. setPersoanaInfo();
  391.  
  392. setNavButtons();
  393. }
  394.  
  395.  
  396. private void setPersoanaInfo() throws SQLException {
  397. persoanaSelectata = new Persoana(rs);
  398.  
  399. idTextField.setText(Integer.toString(persoanaSelectata.getId()));
  400. nameTextField.setText(persoanaSelectata.getNume());
  401. ageTextField.setText(Integer.toString(persoanaSelectata.getVarsta()));
  402. }
  403.  
  404. private void setViewEdit(){
  405. addElement = false;
  406. toolbarText.setText(index + "/" + length);
  407.  
  408. moveFirstButton.setEnabled(false);
  409. movePreviousButton.setEnabled(false);
  410. moveLastButton.setEnabled(false);
  411. moveNextButton.setEnabled(false);
  412. addButton.setEnabled(false);
  413. deleteButton.setEnabled(false);
  414. editButton.setEnabled(false);
  415. findButton.setEnabled(false);
  416. saveButton.setEnabled(true);
  417. undoButton.setEnabled(true);
  418. idTextField.setEditable(true);
  419. nameTextField.setEditable(true);
  420. ageTextField.setEditable(true);
  421. setNavButtons();
  422. }
  423.  
  424. private void setViewAdd(){
  425. addElement = true;
  426. toolbarText.setText(index + "/" + length);
  427.  
  428. moveFirstButton.setEnabled(false);
  429. movePreviousButton.setEnabled(false);
  430. moveLastButton.setEnabled(false);
  431. moveNextButton.setEnabled(false);
  432. addButton.setEnabled(false);
  433. deleteButton.setEnabled(false);
  434. editButton.setEnabled(false);
  435. findButton.setEnabled(false);
  436. saveButton.setEnabled(true);
  437. undoButton.setEnabled(true);
  438. idTextField.setEditable(true);
  439. nameTextField.setEditable(true);
  440. ageTextField.setEditable(true);
  441. idTextField.setText("");
  442. nameTextField.setText("");
  443. ageTextField.setText("");
  444. setNavButtons();
  445. }
  446.  
  447. private void calculateLength() throws SQLException {
  448. ResultSet rst = sql.executeQuery("select count(*) from persoane");
  449. length = 0;
  450. while(rst.next())
  451. length = Integer.parseInt(rst.getString("count(*)"));
  452. }
  453.  
  454. private void setNavButtons() {
  455. if (index == 1) {
  456. movePreviousButton.setEnabled(false);
  457. moveFirstButton.setEnabled(false);
  458. } else if (index == length) {
  459. moveNextButton.setEnabled(false);
  460. moveLastButton.setEnabled(false);
  461. }
  462. }
  463.  
  464. public void actionPerformed(ActionEvent e) {
  465. // TODO Auto-generated method stub
  466.  
  467. }
  468. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement