Advertisement
Guest User

Vanhat jutut jotka ehkä auttaa

a guest
Apr 19th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 97.37 KB | None | 0 0
  1. package Elokuva;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import javax.swing.JOptionPane;
  9. import javax.swing.table.*;
  10. import javax.swing.JTable;
  11.  
  12.  
  13. public class Tiedot extends javax.swing.JFrame {
  14.  
  15.  
  16. Connection con;
  17. Statement stmt;
  18. ResultSet rs;
  19. int curRow = 0;
  20.  
  21. public Tiedot() {
  22. initComponents();
  23. DoConnect();
  24. }
  25.  
  26. public void DoConnect( ) {
  27. try {
  28. String host = "jdbc:derby://localhost:1527/Moviedata";
  29. String uName = "user1";
  30. String uPass= "1234";
  31. con = DriverManager.getConnection( host, uName, uPass );
  32.  
  33. stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
  34. String SQL = "SELECT * FROM Tiedot";
  35. rs = stmt.executeQuery( SQL );
  36.  
  37. while ( rs.next( ) ) {
  38. int id_col = rs.getInt("ID");
  39. String id = Integer.toString( id_col );
  40. String nimi = rs.getString("Nimi");
  41. int ika_col = rs.getInt("Ikaraja");
  42. String ikaraja = Integer.toString( ika_col );
  43. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  44. String julkaisuvuosi = Integer.toString( julkaisu_col );
  45. String tyylilaji = rs.getString("Tyylilaji");
  46.  
  47. textID.setText(id);
  48. textJulkaisuVuosi.setText(julkaisuvuosi);
  49. textNimi.setText(nimi);
  50. textTyyliLaji.setText(tyylilaji);
  51. textIkaRaja.setText(ikaraja);
  52.  
  53. }
  54. }
  55. catch ( SQLException err ) {
  56. System.out.println( err.getMessage( ) );
  57. }
  58. }
  59.  
  60.  
  61. @SuppressWarnings("unchecked")
  62. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  63. private void initComponents() {
  64.  
  65. jPanel1 = new javax.swing.JPanel();
  66. btnFirst = new javax.swing.JButton();
  67. btnPrevious = new javax.swing.JButton();
  68. btnNext = new javax.swing.JButton();
  69. btnLast = new javax.swing.JButton();
  70. jPanel2 = new javax.swing.JPanel();
  71. btnUpdateRecord = new javax.swing.JButton();
  72. btnNewRecord = new javax.swing.JButton();
  73. btnDeleteRecord = new javax.swing.JButton();
  74. btnSaveRecord = new javax.swing.JButton();
  75. btnCancelNewRecord = new javax.swing.JButton();
  76. jPanel3 = new javax.swing.JPanel();
  77. textID = new javax.swing.JTextField();
  78. jLabel1 = new javax.swing.JLabel();
  79. textJulkaisuVuosi = new javax.swing.JTextField();
  80. jLabel2 = new javax.swing.JLabel();
  81. textNimi = new javax.swing.JTextField();
  82. jLabel3 = new javax.swing.JLabel();
  83. textTyyliLaji = new javax.swing.JTextField();
  84. jLabel4 = new javax.swing.JLabel();
  85. textIkaRaja = new javax.swing.JTextField();
  86. jScrollPane1 = new javax.swing.JScrollPane();
  87. Taulukko = new javax.swing.JTable();
  88.  
  89. setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  90. setBackground(new java.awt.Color(255, 51, 255));
  91. setForeground(java.awt.Color.red);
  92.  
  93. btnFirst.setText("First");
  94. btnFirst.addActionListener(new java.awt.event.ActionListener() {
  95. public void actionPerformed(java.awt.event.ActionEvent evt) {
  96. btnFirstActionPerformed(evt);
  97. }
  98. });
  99.  
  100. btnPrevious.setText("Previous");
  101. btnPrevious.addActionListener(new java.awt.event.ActionListener() {
  102. public void actionPerformed(java.awt.event.ActionEvent evt) {
  103. btnPreviousActionPerformed(evt);
  104. }
  105. });
  106.  
  107. btnNext.setText("Next");
  108. btnNext.addActionListener(new java.awt.event.ActionListener() {
  109. public void actionPerformed(java.awt.event.ActionEvent evt) {
  110. btnNextActionPerformed(evt);
  111. }
  112. });
  113.  
  114. btnLast.setText("Last");
  115. btnLast.addActionListener(new java.awt.event.ActionListener() {
  116. public void actionPerformed(java.awt.event.ActionEvent evt) {
  117. btnLastActionPerformed(evt);
  118. }
  119. });
  120.  
  121. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  122. jPanel1.setLayout(jPanel1Layout);
  123. jPanel1Layout.setHorizontalGroup(
  124. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  125. .addGroup(jPanel1Layout.createSequentialGroup()
  126. .addContainerGap()
  127. .addComponent(btnFirst)
  128. .addGap(39, 39, 39)
  129. .addComponent(btnPrevious)
  130. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 70, Short.MAX_VALUE)
  131. .addComponent(btnNext)
  132. .addGap(39, 39, 39)
  133. .addComponent(btnLast)
  134. .addContainerGap())
  135. );
  136. jPanel1Layout.setVerticalGroup(
  137. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  138. .addGroup(jPanel1Layout.createSequentialGroup()
  139. .addContainerGap()
  140. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  141. .addComponent(btnFirst)
  142. .addComponent(btnPrevious)
  143. .addComponent(btnNext)
  144. .addComponent(btnLast))
  145. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  146. );
  147.  
  148. btnUpdateRecord.setForeground(new java.awt.Color(0, 0, 204));
  149. btnUpdateRecord.setText("Update Record");
  150. btnUpdateRecord.addActionListener(new java.awt.event.ActionListener() {
  151. public void actionPerformed(java.awt.event.ActionEvent evt) {
  152. btnUpdateRecordActionPerformed(evt);
  153. }
  154. });
  155.  
  156. btnNewRecord.setForeground(new java.awt.Color(0, 204, 0));
  157. btnNewRecord.setText("New Record");
  158. btnNewRecord.addActionListener(new java.awt.event.ActionListener() {
  159. public void actionPerformed(java.awt.event.ActionEvent evt) {
  160. btnNewRecordActionPerformed(evt);
  161. }
  162. });
  163.  
  164. btnDeleteRecord.setForeground(new java.awt.Color(255, 0, 0));
  165. btnDeleteRecord.setText("Delete Record");
  166. btnDeleteRecord.addActionListener(new java.awt.event.ActionListener() {
  167. public void actionPerformed(java.awt.event.ActionEvent evt) {
  168. btnDeleteRecordActionPerformed(evt);
  169. }
  170. });
  171.  
  172. btnSaveRecord.setText("Save New Record");
  173. btnSaveRecord.setEnabled(false);
  174. btnSaveRecord.addActionListener(new java.awt.event.ActionListener() {
  175. public void actionPerformed(java.awt.event.ActionEvent evt) {
  176. btnSaveRecordActionPerformed(evt);
  177. }
  178. });
  179.  
  180. btnCancelNewRecord.setText("Cancel New Record");
  181. btnCancelNewRecord.setEnabled(false);
  182. btnCancelNewRecord.addActionListener(new java.awt.event.ActionListener() {
  183. public void actionPerformed(java.awt.event.ActionEvent evt) {
  184. btnCancelNewRecordActionPerformed(evt);
  185. }
  186. });
  187.  
  188. javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
  189. jPanel2.setLayout(jPanel2Layout);
  190. jPanel2Layout.setHorizontalGroup(
  191. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  192. .addGroup(jPanel2Layout.createSequentialGroup()
  193. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  194. .addGroup(jPanel2Layout.createSequentialGroup()
  195. .addGap(29, 29, 29)
  196. .addComponent(btnUpdateRecord)
  197. .addGap(34, 34, 34)
  198. .addComponent(btnDeleteRecord)
  199. .addGap(33, 33, 33)
  200. .addComponent(btnNewRecord))
  201. .addGroup(jPanel2Layout.createSequentialGroup()
  202. .addGap(74, 74, 74)
  203. .addComponent(btnSaveRecord)
  204. .addGap(53, 53, 53)
  205. .addComponent(btnCancelNewRecord)))
  206. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  207. );
  208. jPanel2Layout.setVerticalGroup(
  209. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  210. .addGroup(jPanel2Layout.createSequentialGroup()
  211. .addContainerGap()
  212. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  213. .addComponent(btnUpdateRecord)
  214. .addComponent(btnNewRecord)
  215. .addComponent(btnDeleteRecord))
  216. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22, Short.MAX_VALUE)
  217. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  218. .addComponent(btnSaveRecord)
  219. .addComponent(btnCancelNewRecord))
  220. .addGap(22, 22, 22))
  221. );
  222.  
  223. textID.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  224. textID.addActionListener(new java.awt.event.ActionListener() {
  225. public void actionPerformed(java.awt.event.ActionEvent evt) {
  226. textIDActionPerformed(evt);
  227. }
  228. });
  229.  
  230. jLabel1.setText("Julkaisuvuosi:");
  231.  
  232. textJulkaisuVuosi.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  233.  
  234. jLabel2.setText("Nimi:");
  235.  
  236. textNimi.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  237.  
  238. jLabel3.setText("Tyylilaji:");
  239.  
  240. textTyyliLaji.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  241.  
  242. jLabel4.setText("Ikäraja:");
  243.  
  244. textIkaRaja.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  245.  
  246. javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
  247. jPanel3.setLayout(jPanel3Layout);
  248. jPanel3Layout.setHorizontalGroup(
  249. jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  250. .addGroup(jPanel3Layout.createSequentialGroup()
  251. .addContainerGap()
  252. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  253. .addComponent(jLabel4)
  254. .addComponent(jLabel3)
  255. .addComponent(jLabel2)
  256. .addGroup(jPanel3Layout.createSequentialGroup()
  257. .addComponent(textID, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
  258. .addGap(18, 18, 18)
  259. .addComponent(jLabel1)))
  260. .addGap(18, 18, 18)
  261. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  262. .addComponent(textJulkaisuVuosi, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
  263. .addComponent(textNimi)
  264. .addComponent(textIkaRaja, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
  265. .addComponent(textTyyliLaji, javax.swing.GroupLayout.DEFAULT_SIZE, 250, Short.MAX_VALUE))
  266. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  267. );
  268. jPanel3Layout.setVerticalGroup(
  269. jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  270. .addGroup(jPanel3Layout.createSequentialGroup()
  271. .addContainerGap()
  272. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  273. .addComponent(textID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  274. .addComponent(jLabel1)
  275. .addComponent(textJulkaisuVuosi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  276. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  277. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  278. .addComponent(jLabel2)
  279. .addComponent(textNimi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  280. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  281. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  282. .addComponent(textTyyliLaji, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  283. .addComponent(jLabel3))
  284. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  285. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  286. .addComponent(jLabel4)
  287. .addComponent(textIkaRaja, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  288. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  289. );
  290.  
  291. Taulukko.setModel(new javax.swing.table.DefaultTableModel(
  292. new Object [][] {
  293. {null, null, null, null, null},
  294. {null, null, null, null, null},
  295. {null, null, null, null, null},
  296. {null, null, null, null, null},
  297. {null, null, null, null, null},
  298. {null, null, null, null, null},
  299. {null, null, null, null, null},
  300. {null, null, null, null, null},
  301. {null, null, null, null, null},
  302. {null, null, null, null, null},
  303. {null, null, null, null, null},
  304. {null, null, null, null, null},
  305. {null, null, null, null, null},
  306. {null, null, null, null, null},
  307. {null, null, null, null, null},
  308. {null, null, null, null, null},
  309. {null, null, null, null, null},
  310. {null, null, null, null, null},
  311. {null, null, null, null, null},
  312. {null, null, null, null, null},
  313. {null, null, null, null, null},
  314. {null, null, null, null, null},
  315. {null, null, null, null, null},
  316. {null, null, null, null, null},
  317. {null, null, null, null, null}
  318. },
  319. new String [] {
  320. "ID", "Julkaisuvuosi", "Nimi", "Tyylilaji", "Ikäraja"
  321. }
  322. ) {
  323. Class[] types = new Class [] {
  324. java.lang.Integer.class, java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class
  325. };
  326. boolean[] canEdit = new boolean [] {
  327. false, false, false, false, false
  328. };
  329.  
  330. public Class getColumnClass(int columnIndex) {
  331. return types [columnIndex];
  332. }
  333.  
  334. public boolean isCellEditable(int rowIndex, int columnIndex) {
  335. return canEdit [columnIndex];
  336. }
  337. });
  338. Taulukko.getTableHeader().setReorderingAllowed(false);
  339. jScrollPane1.setViewportView(Taulukko);
  340. if (Taulukko.getColumnModel().getColumnCount() > 0) {
  341. Taulukko.getColumnModel().getColumn(0).setResizable(false);
  342. Taulukko.getColumnModel().getColumn(1).setResizable(false);
  343. }
  344.  
  345. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  346. getContentPane().setLayout(layout);
  347. layout.setHorizontalGroup(
  348. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  349. .addGroup(layout.createSequentialGroup()
  350. .addContainerGap()
  351. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  352. .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  353. .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  354. .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  355. .addGap(18, 18, 18)
  356. .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 555, Short.MAX_VALUE)
  357. .addContainerGap())
  358. );
  359. layout.setVerticalGroup(
  360. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  361. .addGroup(layout.createSequentialGroup()
  362. .addContainerGap()
  363. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  364. .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE)
  365. .addGroup(layout.createSequentialGroup()
  366. .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  367. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  368. .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  369. .addGap(18, 18, 18)
  370. .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
  371. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  372. );
  373.  
  374. pack();
  375. }// </editor-fold>
  376.  
  377. private void textIDActionPerformed(java.awt.event.ActionEvent evt) {
  378.  
  379. }
  380.  
  381. public void FillTable(JTable table, String Query)
  382.  
  383. {
  384. try
  385. {
  386. DoConnect();
  387. stmt = con.createStatement();
  388. rs = stmt.executeQuery(Query);
  389.  
  390. String host = "jdbc:derby://localhost:1527/Moviedata";
  391. String uName = "user1";
  392. String uPass= "1234";
  393. con = DriverManager.getConnection( host, uName, uPass );
  394.  
  395. //To remove previously added rows
  396. while(Taulukko.getRowCount() > 0)
  397. {
  398. ((DefaultTableModel) Taulukko.getModel()).removeRow(0);
  399. }
  400. int columns = rs.getMetaData().getColumnCount();
  401. while(rs.next())
  402. {
  403. Object[] row = new Object[columns];
  404. for (int i = 1; i <= columns; i++)
  405. {
  406. row[i - 1] = rs.getObject(i);
  407. }
  408. ((DefaultTableModel) Taulukko.getModel()).insertRow(rs.getRow()-1,row);
  409. }
  410.  
  411. rs.close();
  412. stmt.close();
  413. con.close();
  414. }
  415. catch(SQLException err) {
  416. JOptionPane.showMessageDialog(this, err.getMessage());
  417. {
  418. }
  419. }
  420. }
  421.  
  422.  
  423.  
  424. private void btnPreviousActionPerformed(java.awt.event.ActionEvent evt) {
  425. try{
  426. if (rs.previous()){
  427. int id_col = rs.getInt("ID");
  428. String id = Integer.toString( id_col );
  429. String nimi = rs.getString("Nimi");
  430. int ika_col = rs.getInt("Ikaraja");
  431. String ikaraja = Integer.toString( ika_col );
  432. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  433. String julkaisuvuosi = Integer.toString( julkaisu_col );
  434. String tyylilaji = rs.getString("Tyylilaji");
  435.  
  436. textID.setText(id);
  437. textJulkaisuVuosi.setText(julkaisuvuosi);
  438. textNimi.setText(nimi);
  439. textTyyliLaji.setText(tyylilaji);
  440. textIkaRaja.setText(ikaraja);
  441. }
  442. else {
  443. rs.next( );
  444. JOptionPane.showMessageDialog(this, "Start of file");
  445. }
  446. }
  447. catch (SQLException err) {
  448. JOptionPane.showMessageDialog(this, err.getMessage());
  449.  
  450. }
  451. }
  452.  
  453. private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {
  454. try{
  455. if (rs.next()){
  456. int id_col = rs.getInt("ID");
  457. String id = Integer.toString( id_col );
  458. String nimi = rs.getString("Nimi");
  459. int ika_col = rs.getInt("Ikaraja");
  460. String ikaraja = Integer.toString( ika_col );
  461. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  462. String julkaisuvuosi = Integer.toString( julkaisu_col );
  463. String tyylilaji = rs.getString("Tyylilaji");
  464.  
  465. textID.setText(id);
  466. textJulkaisuVuosi.setText(julkaisuvuosi);
  467. textNimi.setText(nimi);
  468. textTyyliLaji.setText(tyylilaji);
  469. textIkaRaja.setText(ikaraja);
  470. }
  471. else {
  472. rs.previous( );
  473. JOptionPane.showMessageDialog(this, "End of file");
  474. }
  475. }
  476. catch (SQLException err) {
  477. JOptionPane.showMessageDialog(this, err.getMessage());
  478.  
  479. }
  480. }
  481.  
  482. private void btnFirstActionPerformed(java.awt.event.ActionEvent evt) {
  483. try{
  484. rs.first();
  485. int id_col = rs.getInt("ID");
  486. String id = Integer.toString( id_col );
  487. String nimi = rs.getString("Nimi");
  488. int ika_col = rs.getInt("Ikaraja");
  489. String ikaraja = Integer.toString( ika_col );
  490. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  491. String julkaisuvuosi = Integer.toString( julkaisu_col );
  492. String tyylilaji = rs.getString("Tyylilaji");
  493.  
  494. textID.setText(id);
  495. textJulkaisuVuosi.setText(julkaisuvuosi);
  496. textNimi.setText(nimi);
  497. textTyyliLaji.setText(tyylilaji);
  498. textIkaRaja.setText(ikaraja);
  499.  
  500. }
  501. catch (SQLException err) {
  502. JOptionPane.showMessageDialog(this, err.getMessage());
  503.  
  504. }
  505. }
  506.  
  507. private void btnLastActionPerformed(java.awt.event.ActionEvent evt) {
  508. try{
  509. rs.last();
  510. int id_col = rs.getInt("ID");
  511. String id = Integer.toString( id_col );
  512. String nimi = rs.getString("Nimi");
  513. int ika_col = rs.getInt("Ikaraja");
  514. String ikaraja = Integer.toString( ika_col );
  515. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  516. String julkaisuvuosi = Integer.toString( julkaisu_col );
  517. String tyylilaji = rs.getString("Tyylilaji");
  518.  
  519. textID.setText(id);
  520. textJulkaisuVuosi.setText(julkaisuvuosi);
  521. textNimi.setText(nimi);
  522. textTyyliLaji.setText(tyylilaji);
  523. textIkaRaja.setText(ikaraja);
  524.  
  525. }
  526. catch (SQLException err) {
  527. JOptionPane.showMessageDialog(this, err.getMessage());
  528.  
  529. }
  530. }
  531.  
  532. private void btnUpdateRecordActionPerformed(java.awt.event.ActionEvent evt) {
  533. String nimi = textNimi.getText();
  534. String tyylilaji = textTyyliLaji.getText();
  535. String ikaraja = textIkaRaja.getText();
  536. String julkaisuvuosi = textJulkaisuVuosi.getText();
  537. String ID = textID.getText();
  538.  
  539. int newID = Integer.parseInt( ID );
  540. int newjulkaisuvuosi = Integer.parseInt( julkaisuvuosi );
  541. int newikaraja = Integer.parseInt( ikaraja );
  542.  
  543. try {
  544. rs.updateInt( "ID", newID );
  545. rs.updateInt( "ikaraja", newikaraja );
  546. rs.updateInt( "julkaisuvuosi", newjulkaisuvuosi );
  547. rs.updateString( "Nimi", nimi );
  548. rs.updateString( "Tyylilaji", tyylilaji );
  549. rs.updateRow( );
  550. JOptionPane.showMessageDialog(Tiedot.this, "Updated");
  551. }
  552. catch (SQLException err){
  553. System.out.println(err.getMessage() );
  554. }
  555. }
  556.  
  557. private void btnNewRecordActionPerformed(java.awt.event.ActionEvent evt) {
  558.  
  559. try {
  560. curRow = rs.getRow( );
  561.  
  562. textID.setText("");
  563. textTyyliLaji.setText("");
  564. textNimi.setText("");
  565. textIkaRaja.setText("");
  566. textJulkaisuVuosi.setText("");
  567.  
  568. btnFirst.setEnabled( false );
  569. btnPrevious.setEnabled( false ) ;
  570. btnNext.setEnabled( false );
  571. btnLast.setEnabled( false );
  572. btnUpdateRecord.setEnabled( false );
  573. btnDeleteRecord.setEnabled( false );
  574. btnNewRecord.setEnabled( false );
  575.  
  576. btnSaveRecord.setEnabled( true );
  577. btnCancelNewRecord.setEnabled( true );
  578. }
  579. catch (SQLException err) {
  580. JOptionPane.showMessageDialog(this, err.getMessage());
  581. }
  582. }
  583.  
  584. private void btnCancelNewRecordActionPerformed(java.awt.event.ActionEvent evt) {
  585. try{
  586. rs.absolute( curRow );
  587.  
  588. textID.setText( Integer.toString( rs.getInt("ID")) );
  589. textTyyliLaji.setText( rs.getString("Tyylilaji") );
  590. textNimi.setText( rs.getString("Nimi") );
  591. textIkaRaja.setText( Integer.toString( rs.getInt("Ikaraja")) );
  592. textJulkaisuVuosi.setText( Integer.toString( rs.getInt("Julkaisuvuosi")) );
  593.  
  594. btnFirst.setEnabled( true );
  595. btnPrevious.setEnabled( true ) ;
  596. btnNext.setEnabled( true );
  597. btnLast.setEnabled( true );
  598. btnUpdateRecord.setEnabled( true );
  599. btnDeleteRecord.setEnabled( true );
  600. btnNewRecord.setEnabled( true );
  601.  
  602. btnSaveRecord.setEnabled( false );
  603. btnCancelNewRecord.setEnabled( false );
  604. }
  605. catch (SQLException err) {
  606. JOptionPane.showMessageDialog(this, err.getMessage());
  607. }
  608. }
  609.  
  610. private void btnSaveRecordActionPerformed(java.awt.event.ActionEvent evt) {
  611.  
  612. String nimi = textNimi.getText();
  613. String tyylilaji = textTyyliLaji.getText();
  614. String ikaraja = textIkaRaja.getText();
  615. String julkaisuvuosi = textJulkaisuVuosi.getText();
  616. String ID = textID.getText();
  617.  
  618. int newID = Integer.parseInt( ID );
  619. int newJulkaisuvuosi = Integer.parseInt( julkaisuvuosi );
  620. int newIkaraja = Integer.parseInt( ikaraja );
  621.  
  622. try {
  623. rs.moveToInsertRow( );
  624.  
  625. rs.updateInt("ID", newID);
  626. rs.updateString("Tyylilaji", tyylilaji);
  627. rs.updateString("Nimi", nimi);
  628. rs.updateInt("Ikaraja", newIkaraja);
  629. rs.updateInt("Julkaisuvuosi", newJulkaisuvuosi);
  630.  
  631. rs.insertRow( );
  632.  
  633. stmt.close( );
  634. rs.close( );
  635.  
  636. stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
  637. String SQL = "SELECT * FROM Tiedot";
  638. rs = stmt.executeQuery( SQL );
  639.  
  640. rs.next();
  641. int id_col = rs.getInt("ID");
  642. String id = Integer.toString( id_col );
  643. String nimi2 = rs.getString("Nimi");
  644. int ika_col = rs.getInt("Ikaraja");
  645. String ikaraja2 = Integer.toString( ika_col );
  646. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  647. String julkaisuvuosi2 = Integer.toString( julkaisu_col );
  648. String tyylilaji2 = rs.getString("Tyylilaji");
  649.  
  650. textID.setText(id);
  651. textJulkaisuVuosi.setText(julkaisuvuosi2);
  652. textNimi.setText(nimi2);
  653. textTyyliLaji.setText(tyylilaji2);
  654. textIkaRaja.setText(ikaraja2);
  655.  
  656. btnFirst.setEnabled( true );
  657. btnPrevious.setEnabled( true ) ;
  658. btnNext.setEnabled( true );
  659. btnLast.setEnabled( true );
  660. btnUpdateRecord.setEnabled( true );
  661. btnDeleteRecord.setEnabled( true );
  662. btnNewRecord.setEnabled( true );
  663.  
  664. btnSaveRecord.setEnabled( false );
  665. btnCancelNewRecord.setEnabled( false );
  666.  
  667. JOptionPane.showMessageDialog(this, "Record Saved");
  668. }
  669. catch (SQLException err) {
  670. JOptionPane.showMessageDialog(this, err.getMessage());
  671. }
  672. }
  673.  
  674. private void btnDeleteRecordActionPerformed(java.awt.event.ActionEvent evt) {
  675. try{
  676.  
  677. rs.deleteRow( );
  678.  
  679. stmt.close( );
  680. rs.close( );
  681.  
  682. stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
  683. String SQL = "SELECT * FROM Tiedot";
  684. rs = stmt.executeQuery( SQL );
  685.  
  686. rs.next();
  687. int id_col = rs.getInt("ID");
  688. String id = Integer.toString( id_col );
  689. String nimi = rs.getString("Nimi");
  690. int ika_col = rs.getInt("Ikaraja");
  691. String ikaraja = Integer.toString( ika_col );
  692. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  693. String julkaisuvuosi = Integer.toString( julkaisu_col );
  694. String tyylilaji = rs.getString("Tyylilaji");
  695.  
  696. textID.setText(id);
  697. textJulkaisuVuosi.setText(julkaisuvuosi);
  698. textNimi.setText(nimi);
  699. textTyyliLaji.setText(tyylilaji);
  700. textIkaRaja.setText(ikaraja);
  701.  
  702. JOptionPane.showMessageDialog(this, "Record Deleted!");
  703. }
  704. catch (SQLException err) {
  705. JOptionPane.showMessageDialog(this, err.getMessage());
  706. }
  707. }
  708.  
  709. /**
  710. *
  711. * @param args
  712. */
  713. public static void main(String args[]) {
  714. /* Set the Nimbus look and feel */
  715. //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  716. /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  717. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  718. */
  719. try {
  720. for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  721. if ("Nimbus".equals(info.getName())) {
  722. javax.swing.UIManager.setLookAndFeel(info.getClassName());
  723. break;
  724. }
  725. }
  726. } catch (ClassNotFoundException ex) {
  727. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  728. } catch (InstantiationException ex) {
  729. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  730. } catch (IllegalAccessException ex) {
  731. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  732. } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  733. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  734. }
  735. //</editor-fold>
  736.  
  737. /* Create and display the form */
  738. java.awt.EventQueue.invokeLater(new Runnable() {
  739. public void run() {
  740. new Tiedot().setVisible(true);
  741. }
  742. });
  743. }
  744.  
  745. // Variables declaration - do not modify
  746. private javax.swing.JTable Taulukko;
  747. private javax.swing.JButton btnCancelNewRecord;
  748. private javax.swing.JButton btnDeleteRecord;
  749. private javax.swing.JButton btnFirst;
  750. private javax.swing.JButton btnLast;
  751. private javax.swing.JButton btnNewRecord;
  752. private javax.swing.JButton btnNext;
  753. private javax.swing.JButton btnPrevious;
  754. private javax.swing.JButton btnSaveRecord;
  755. private javax.swing.JButton btnUpdateRecord;
  756. private javax.swing.JLabel jLabel1;
  757. private javax.swing.JLabel jLabel2;
  758. private javax.swing.JLabel jLabel3;
  759. private javax.swing.JLabel jLabel4;
  760. private javax.swing.JPanel jPanel1;
  761. private javax.swing.JPanel jPanel2;
  762. private javax.swing.JPanel jPanel3;
  763. private javax.swing.JScrollPane jScrollPane1;
  764. private javax.swing.JTextField textID;
  765. private javax.swing.JTextField textIkaRaja;
  766. private javax.swing.JTextField textJulkaisuVuosi;
  767. private javax.swing.JTextField textNimi;
  768. private javax.swing.JTextField textTyyliLaji;
  769. // End of variables declaration
  770. }
  771.  
  772.  
  773.  
  774. ////////////////////////////////////////////////////////////////////////////////////////////////////////
  775.  
  776.  
  777.  
  778.  
  779. package database_console;
  780.  
  781. import java.sql.Connection;
  782. import java.sql.DriverManager;
  783. import java.sql.SQLException;
  784. import java.sql.Statement;
  785. import java.sql.ResultSet;
  786.  
  787. public class DBConnect {
  788.  
  789.  
  790. public static void main(String[] args) {
  791. try {
  792. String host = "jdbc:derby://localhost:1527/MovieData";
  793. String uName = "user1";
  794. String uPass= "1234";
  795. Connection con = DriverManager.getConnection( host, uName, uPass );
  796.  
  797. Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
  798. String SQL = "SELECT * FROM Tiedot";
  799. ResultSet rs = stmt.executeQuery( SQL );
  800.  
  801. while ( rs.next( ) ) {
  802. int id_col = rs.getInt("ID");
  803. String nimi = rs.getString("Nimi");
  804. int ika_col = rs.getInt("Ikaraja");
  805. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  806. String tyylilaji = rs.getString("Tyylilaji");
  807.  
  808. System.out.println( id_col + " " + nimi + " " + ika_col + " " + julkaisu_col + " " + tyylilaji);
  809. }
  810. }
  811. catch ( SQLException err ) {
  812. System.out.println( err.getMessage( ) );
  813. }
  814. }
  815.  
  816. }
  817.  
  818.  
  819.  
  820. ///////////////////////////////////////////////////////////////////////////////////////////////////////////
  821.  
  822.  
  823.  
  824. package Elokuva;
  825.  
  826. import java.sql.Connection;
  827. import java.sql.DriverManager;
  828. import java.sql.ResultSet;
  829.  
  830. import java.sql.SQLException;
  831. import java.sql.Statement;
  832. import javax.swing.JOptionPane;
  833. import javax.swing.*;
  834. import java.sql.*;
  835. import java.util.ArrayList;
  836.  
  837.  
  838. public class Tiedot extends javax.swing.JFrame {
  839.  
  840.  
  841. Connection con;
  842. Statement stmt;
  843. ResultSet rs;
  844. int curRow = 0;
  845.  
  846. public Tiedot() {
  847. initComponents();
  848. DoConnect();
  849. }
  850.  
  851. public void DoConnect( ) {
  852. try {
  853. String host = "jdbc:derby://localhost:1527/Moviedata";
  854. String uName = "user1";
  855. String uPass= "1234";
  856. con = DriverManager.getConnection( host, uName, uPass );
  857.  
  858. stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
  859. String SQL = "SELECT * FROM ELOKUVAT";
  860. rs = stmt.executeQuery( SQL );
  861.  
  862. while ( rs.next()) {
  863. int id_col = rs.getInt("ID");
  864. String id = Integer.toString( id_col );
  865. String nimi = rs.getString("Nimi");
  866. int ika_col = rs.getInt("Ikaraja");
  867. String ikaraja = Integer.toString( ika_col );
  868. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  869. String julkaisuvuosi = Integer.toString( julkaisu_col );
  870. String tyylilaji = rs.getString("Tyylilaji");
  871.  
  872. textID.setText(id);
  873. textJulkaisuVuosi.setText(julkaisuvuosi);
  874. textNimi.setText(nimi);
  875. textTyyliLaji.setText(tyylilaji);
  876. textIkaRaja.setText(ikaraja);
  877.  
  878. }
  879. }
  880. catch ( SQLException err ) {
  881. System.out.println( err.getMessage( ) );
  882. }
  883. }
  884.  
  885.  
  886. @SuppressWarnings("unchecked")
  887. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  888. private void initComponents() {
  889.  
  890. jPanel1 = new javax.swing.JPanel();
  891. btnFirst = new javax.swing.JButton();
  892. btnPrevious = new javax.swing.JButton();
  893. btnNext = new javax.swing.JButton();
  894. btnLast = new javax.swing.JButton();
  895. jPanel2 = new javax.swing.JPanel();
  896. btnUpdateRecord = new javax.swing.JButton();
  897. btnNewRecord = new javax.swing.JButton();
  898. btnDeleteRecord = new javax.swing.JButton();
  899. jPanel3 = new javax.swing.JPanel();
  900. textID = new javax.swing.JTextField();
  901. jLabel1 = new javax.swing.JLabel();
  902. textJulkaisuVuosi = new javax.swing.JTextField();
  903. jLabel2 = new javax.swing.JLabel();
  904. textNimi = new javax.swing.JTextField();
  905. jLabel3 = new javax.swing.JLabel();
  906. textTyyliLaji = new javax.swing.JTextField();
  907. jLabel4 = new javax.swing.JLabel();
  908. textIkaRaja = new javax.swing.JTextField();
  909. jScrollPane1 = new javax.swing.JScrollPane();
  910. Lista = new javax.swing.JList();
  911. jPanel4 = new javax.swing.JPanel();
  912. btnSaveRecord = new javax.swing.JButton();
  913. btnCancelNewRecord = new javax.swing.JButton();
  914.  
  915. setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  916. setBackground(new java.awt.Color(51, 255, 0));
  917. setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
  918. setForeground(new java.awt.Color(51, 255, 0));
  919.  
  920. btnFirst.setText("First");
  921. btnFirst.addActionListener(new java.awt.event.ActionListener() {
  922. public void actionPerformed(java.awt.event.ActionEvent evt) {
  923. btnFirstActionPerformed(evt);
  924. }
  925. });
  926.  
  927. btnPrevious.setText("Previous");
  928. btnPrevious.setMaximumSize(new java.awt.Dimension(75, 23));
  929. btnPrevious.setMinimumSize(new java.awt.Dimension(75, 23));
  930. btnPrevious.addActionListener(new java.awt.event.ActionListener() {
  931. public void actionPerformed(java.awt.event.ActionEvent evt) {
  932. btnPreviousActionPerformed(evt);
  933. }
  934. });
  935.  
  936. btnNext.setText("Next");
  937. btnNext.addActionListener(new java.awt.event.ActionListener() {
  938. public void actionPerformed(java.awt.event.ActionEvent evt) {
  939. btnNextActionPerformed(evt);
  940. }
  941. });
  942.  
  943. btnLast.setText("Last");
  944. btnLast.addActionListener(new java.awt.event.ActionListener() {
  945. public void actionPerformed(java.awt.event.ActionEvent evt) {
  946. btnLastActionPerformed(evt);
  947. }
  948. });
  949.  
  950. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  951. jPanel1.setLayout(jPanel1Layout);
  952. jPanel1Layout.setHorizontalGroup(
  953. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  954. .addGroup(jPanel1Layout.createSequentialGroup()
  955. .addContainerGap()
  956. .addComponent(btnFirst, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
  957. .addGap(40, 40, 40)
  958. .addComponent(btnPrevious, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  959. .addGap(47, 47, 47)
  960. .addComponent(btnNext, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
  961. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  962. .addComponent(btnLast, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
  963. .addContainerGap())
  964. );
  965. jPanel1Layout.setVerticalGroup(
  966. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  967. .addGroup(jPanel1Layout.createSequentialGroup()
  968. .addContainerGap()
  969. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  970. .addComponent(btnFirst)
  971. .addComponent(btnPrevious, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  972. .addComponent(btnNext)
  973. .addComponent(btnLast))
  974. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  975. );
  976.  
  977. btnUpdateRecord.setForeground(new java.awt.Color(0, 0, 204));
  978. btnUpdateRecord.setText("Päivitä");
  979. btnUpdateRecord.addActionListener(new java.awt.event.ActionListener() {
  980. public void actionPerformed(java.awt.event.ActionEvent evt) {
  981. btnUpdateRecordActionPerformed(evt);
  982. }
  983. });
  984.  
  985. btnNewRecord.setForeground(new java.awt.Color(0, 153, 0));
  986. btnNewRecord.setText("Uusi");
  987. btnNewRecord.addActionListener(new java.awt.event.ActionListener() {
  988. public void actionPerformed(java.awt.event.ActionEvent evt) {
  989. btnNewRecordActionPerformed(evt);
  990. }
  991. });
  992.  
  993. btnDeleteRecord.setForeground(new java.awt.Color(204, 0, 0));
  994. btnDeleteRecord.setText("Poista");
  995. btnDeleteRecord.addActionListener(new java.awt.event.ActionListener() {
  996. public void actionPerformed(java.awt.event.ActionEvent evt) {
  997. btnDeleteRecordActionPerformed(evt);
  998. }
  999. });
  1000.  
  1001. javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
  1002. jPanel2.setLayout(jPanel2Layout);
  1003. jPanel2Layout.setHorizontalGroup(
  1004. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1005. .addGroup(jPanel2Layout.createSequentialGroup()
  1006. .addContainerGap()
  1007. .addComponent(btnUpdateRecord, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
  1008. .addGap(18, 18, 18)
  1009. .addComponent(btnDeleteRecord, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
  1010. .addGap(18, 18, 18)
  1011. .addComponent(btnNewRecord, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
  1012. .addGap(0, 16, Short.MAX_VALUE))
  1013. );
  1014. jPanel2Layout.setVerticalGroup(
  1015. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1016. .addGroup(jPanel2Layout.createSequentialGroup()
  1017. .addContainerGap(38, Short.MAX_VALUE)
  1018. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1019. .addComponent(btnNewRecord)
  1020. .addComponent(btnUpdateRecord)
  1021. .addComponent(btnDeleteRecord))
  1022. .addGap(40, 40, 40))
  1023. );
  1024.  
  1025. textID.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  1026. textID.addActionListener(new java.awt.event.ActionListener() {
  1027. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1028. textIDActionPerformed(evt);
  1029. }
  1030. });
  1031.  
  1032. jLabel1.setText("Julkaisuvuosi:");
  1033.  
  1034. textJulkaisuVuosi.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  1035. textJulkaisuVuosi.addActionListener(new java.awt.event.ActionListener() {
  1036. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1037. textJulkaisuVuosiActionPerformed(evt);
  1038. }
  1039. });
  1040.  
  1041. jLabel2.setText("Nimi:");
  1042.  
  1043. textNimi.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  1044.  
  1045. jLabel3.setText("Tyylilaji:");
  1046.  
  1047. textTyyliLaji.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  1048.  
  1049. jLabel4.setText("Ikäraja:");
  1050.  
  1051. textIkaRaja.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  1052.  
  1053. javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
  1054. jPanel3.setLayout(jPanel3Layout);
  1055. jPanel3Layout.setHorizontalGroup(
  1056. jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1057. .addGroup(jPanel3Layout.createSequentialGroup()
  1058. .addContainerGap()
  1059. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  1060. .addComponent(jLabel4)
  1061. .addComponent(jLabel3)
  1062. .addComponent(jLabel2)
  1063. .addGroup(jPanel3Layout.createSequentialGroup()
  1064. .addComponent(textID, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
  1065. .addGap(18, 18, 18)
  1066. .addComponent(jLabel1)))
  1067. .addGap(18, 18, 18)
  1068. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1069. .addComponent(textTyyliLaji)
  1070. .addComponent(textNimi)
  1071. .addGroup(jPanel3Layout.createSequentialGroup()
  1072. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1073. .addComponent(textJulkaisuVuosi, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
  1074. .addComponent(textIkaRaja, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
  1075. .addGap(0, 0, Short.MAX_VALUE)))
  1076. .addContainerGap())
  1077. );
  1078. jPanel3Layout.setVerticalGroup(
  1079. jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1080. .addGroup(jPanel3Layout.createSequentialGroup()
  1081. .addContainerGap()
  1082. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1083. .addComponent(textID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1084. .addComponent(jLabel1)
  1085. .addComponent(textJulkaisuVuosi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  1086. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  1087. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1088. .addComponent(jLabel2)
  1089. .addComponent(textNimi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  1090. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  1091. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1092. .addComponent(textTyyliLaji, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1093. .addComponent(jLabel3))
  1094. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  1095. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1096. .addComponent(textIkaRaja, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1097. .addComponent(jLabel4))
  1098. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  1099. );
  1100.  
  1101. Lista.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
  1102. Lista.setModel(new javax.swing.AbstractListModel() {
  1103. String[] strings = getElokuvat();
  1104. public int getSize() { return strings.length; }
  1105. public Object getElementAt(int i) { return strings[i]; }
  1106. });
  1107. jScrollPane1.setViewportView(Lista);
  1108.  
  1109. btnSaveRecord.setText("Tallenna");
  1110. btnSaveRecord.setEnabled(false);
  1111. btnSaveRecord.addActionListener(new java.awt.event.ActionListener() {
  1112. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1113. btnSaveRecordActionPerformed(evt);
  1114. }
  1115. });
  1116.  
  1117. btnCancelNewRecord.setText("Peruuta");
  1118. btnCancelNewRecord.setEnabled(false);
  1119. btnCancelNewRecord.addActionListener(new java.awt.event.ActionListener() {
  1120. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1121. btnCancelNewRecordActionPerformed(evt);
  1122. }
  1123. });
  1124.  
  1125. javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
  1126. jPanel4.setLayout(jPanel4Layout);
  1127. jPanel4Layout.setHorizontalGroup(
  1128. jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1129. .addGroup(jPanel4Layout.createSequentialGroup()
  1130. .addGap(27, 27, 27)
  1131. .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  1132. .addComponent(btnSaveRecord, javax.swing.GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE)
  1133. .addComponent(btnCancelNewRecord, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  1134. .addContainerGap(22, Short.MAX_VALUE))
  1135. );
  1136. jPanel4Layout.setVerticalGroup(
  1137. jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1138. .addGroup(jPanel4Layout.createSequentialGroup()
  1139. .addContainerGap()
  1140. .addComponent(btnSaveRecord)
  1141. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32, Short.MAX_VALUE)
  1142. .addComponent(btnCancelNewRecord)
  1143. .addContainerGap())
  1144. );
  1145.  
  1146. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  1147. getContentPane().setLayout(layout);
  1148. layout.setHorizontalGroup(
  1149. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1150. .addGroup(layout.createSequentialGroup()
  1151. .addContainerGap()
  1152. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1153. .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1154. .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1155. .addGroup(layout.createSequentialGroup()
  1156. .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1157. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  1158. .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
  1159. .addGap(18, 18, 18)
  1160. .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 340, javax.swing.GroupLayout.PREFERRED_SIZE)
  1161. .addContainerGap())
  1162. );
  1163. layout.setVerticalGroup(
  1164. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1165. .addGroup(layout.createSequentialGroup()
  1166. .addContainerGap()
  1167. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1168. .addComponent(jScrollPane1)
  1169. .addGroup(layout.createSequentialGroup()
  1170. .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1171. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  1172. .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1173. .addGap(18, 18, 18)
  1174. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  1175. .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1176. .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  1177. .addGap(0, 13, Short.MAX_VALUE)))
  1178. .addContainerGap())
  1179. );
  1180.  
  1181. pack();
  1182. }// </editor-fold>
  1183.  
  1184. private void textIDActionPerformed(java.awt.event.ActionEvent evt) {
  1185.  
  1186. }
  1187.  
  1188. private String[] getElokuvat(){
  1189.  
  1190. ArrayList<String> nimet1 = new ArrayList<String>();
  1191. try{
  1192. String host = "jdbc:derby://localhost:1527/Moviedata";
  1193. String uName = "user1";
  1194. String uPass= "1234";
  1195. con = DriverManager.getConnection( host, uName, uPass );
  1196.  
  1197. stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
  1198. String SQL = "SELECT NIMI FROM ELOKUVAT";
  1199. rs = stmt.executeQuery( SQL );
  1200. while(rs.next()) {
  1201. nimet1.add(rs.getString(1));
  1202. }
  1203. String[] nimet = new String[nimet1.size()];
  1204. nimet = nimet1.toArray(nimet);
  1205. return nimet;
  1206. }
  1207. catch (SQLException err) {
  1208. JOptionPane.showMessageDialog(this, err.getMessage());
  1209. return null;
  1210. }
  1211. finally{
  1212. if(stmt!=null) {
  1213. try {
  1214. stmt.close();
  1215. }
  1216. catch(SQLException ex) {
  1217. System.out.println("Could not close query");
  1218. }
  1219. }
  1220. }
  1221. }
  1222.  
  1223.  
  1224. private void btnPreviousActionPerformed(java.awt.event.ActionEvent evt) {
  1225. try{
  1226. if (rs.previous()){
  1227. int id_col = rs.getInt("ID");
  1228. String id = Integer.toString( id_col );
  1229. String nimi = rs.getString("Nimi");
  1230. int ika_col = rs.getInt("Ikaraja");
  1231. String ikaraja = Integer.toString( ika_col );
  1232. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  1233. String julkaisuvuosi = Integer.toString( julkaisu_col );
  1234. String tyylilaji = rs.getString("Tyylilaji");
  1235.  
  1236. textID.setText(id);
  1237. textJulkaisuVuosi.setText(julkaisuvuosi);
  1238. textNimi.setText(nimi);
  1239. textTyyliLaji.setText(tyylilaji);
  1240. textIkaRaja.setText(ikaraja);
  1241. }
  1242. else {
  1243. rs.next( );
  1244. JOptionPane.showMessageDialog(this, "Tiedoston alku!");
  1245. }
  1246. }
  1247. catch (SQLException err) {
  1248. JOptionPane.showMessageDialog(this, err.getMessage());
  1249.  
  1250. }
  1251. }
  1252.  
  1253. private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {
  1254. try{
  1255. if (rs.next()){
  1256. int id_col = rs.getInt("ID");
  1257. String id = Integer.toString( id_col );
  1258. String nimi = rs.getString("Nimi");
  1259. int ika_col = rs.getInt("Ikaraja");
  1260. String ikaraja = Integer.toString( ika_col );
  1261. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  1262. String julkaisuvuosi = Integer.toString( julkaisu_col );
  1263. String tyylilaji = rs.getString("Tyylilaji");
  1264.  
  1265. textID.setText(id);
  1266. textJulkaisuVuosi.setText(julkaisuvuosi);
  1267. textNimi.setText(nimi);
  1268. textTyyliLaji.setText(tyylilaji);
  1269. textIkaRaja.setText(ikaraja);
  1270. }
  1271. else {
  1272. rs.previous( );
  1273. JOptionPane.showMessageDialog(this, "Tiedoston loppu!");
  1274. }
  1275. }
  1276. catch (SQLException err) {
  1277. JOptionPane.showMessageDialog(this, err.getMessage());
  1278.  
  1279. }
  1280. }
  1281.  
  1282. private void btnFirstActionPerformed(java.awt.event.ActionEvent evt) {
  1283. try{
  1284. rs.first();
  1285. int id_col = rs.getInt("ID");
  1286. String id = Integer.toString( id_col );
  1287. String nimi = rs.getString("Nimi");
  1288. int ika_col = rs.getInt("Ikaraja");
  1289. String ikaraja = Integer.toString( ika_col );
  1290. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  1291. String julkaisuvuosi = Integer.toString( julkaisu_col );
  1292. String tyylilaji = rs.getString("Tyylilaji");
  1293.  
  1294. textID.setText(id);
  1295. textJulkaisuVuosi.setText(julkaisuvuosi);
  1296. textNimi.setText(nimi);
  1297. textTyyliLaji.setText(tyylilaji);
  1298. textIkaRaja.setText(ikaraja);
  1299.  
  1300. }
  1301. catch (SQLException err) {
  1302. JOptionPane.showMessageDialog(this, err.getMessage());
  1303.  
  1304. }
  1305. }
  1306.  
  1307. private void btnLastActionPerformed(java.awt.event.ActionEvent evt) {
  1308. try{
  1309. rs.last();
  1310. int id_col = rs.getInt("ID");
  1311. String id = Integer.toString( id_col );
  1312. String nimi = rs.getString("Nimi");
  1313. int ika_col = rs.getInt("Ikaraja");
  1314. String ikaraja = Integer.toString( ika_col );
  1315. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  1316. String julkaisuvuosi = Integer.toString( julkaisu_col );
  1317. String tyylilaji = rs.getString("Tyylilaji");
  1318.  
  1319. textID.setText(id);
  1320. textJulkaisuVuosi.setText(julkaisuvuosi);
  1321. textNimi.setText(nimi);
  1322. textTyyliLaji.setText(tyylilaji);
  1323. textIkaRaja.setText(ikaraja);
  1324.  
  1325. }
  1326. catch (SQLException err) {
  1327. JOptionPane.showMessageDialog(this, err.getMessage());
  1328.  
  1329. }
  1330. }
  1331.  
  1332. private void btnUpdateRecordActionPerformed(java.awt.event.ActionEvent evt) {
  1333. String nimi = textNimi.getText();
  1334. String tyylilaji = textTyyliLaji.getText();
  1335. String ikaraja = textIkaRaja.getText();
  1336. String julkaisuvuosi = textJulkaisuVuosi.getText();
  1337. String ID = textID.getText();
  1338.  
  1339. int newID = Integer.parseInt( ID );
  1340. int newjulkaisuvuosi = Integer.parseInt( julkaisuvuosi );
  1341. int newikaraja = Integer.parseInt( ikaraja );
  1342.  
  1343. try {
  1344. rs.updateInt( "ID", newID );
  1345. rs.updateInt( "ikaraja", newikaraja );
  1346. rs.updateInt( "julkaisuvuosi", newjulkaisuvuosi );
  1347. rs.updateString( "Nimi", nimi );
  1348. rs.updateString( "Tyylilaji", tyylilaji );
  1349. rs.updateRow( );
  1350. JOptionPane.showMessageDialog(Tiedot.this, "Updated");
  1351. }
  1352. catch (SQLException err){
  1353. System.out.println(err.getMessage() );
  1354. }
  1355. }
  1356.  
  1357. private void btnNewRecordActionPerformed(java.awt.event.ActionEvent evt) {
  1358.  
  1359. try {
  1360. curRow = rs.getRow( );
  1361.  
  1362. textID.setText("");
  1363. textTyyliLaji.setText("");
  1364. textNimi.setText("");
  1365. textIkaRaja.setText("");
  1366. textJulkaisuVuosi.setText("");
  1367.  
  1368. btnFirst.setEnabled( false );
  1369. btnPrevious.setEnabled( false ) ;
  1370. btnNext.setEnabled( false );
  1371. btnLast.setEnabled( false );
  1372. btnUpdateRecord.setEnabled( false );
  1373. btnDeleteRecord.setEnabled( false );
  1374. btnNewRecord.setEnabled( false );
  1375.  
  1376. btnSaveRecord.setEnabled( true );
  1377. btnCancelNewRecord.setEnabled( true );
  1378. }
  1379. catch (SQLException err) {
  1380. JOptionPane.showMessageDialog(this, err.getMessage());
  1381. }
  1382. }
  1383.  
  1384. private void btnCancelNewRecordActionPerformed(java.awt.event.ActionEvent evt) {
  1385. try{
  1386. rs.absolute( curRow );
  1387.  
  1388. textID.setText( Integer.toString( rs.getInt("ID")) );
  1389. textTyyliLaji.setText( rs.getString("Tyylilaji") );
  1390. textNimi.setText( rs.getString("Nimi") );
  1391. textIkaRaja.setText( Integer.toString( rs.getInt("Ikaraja")) );
  1392. textJulkaisuVuosi.setText( Integer.toString( rs.getInt("Julkaisuvuosi")) );
  1393.  
  1394. btnFirst.setEnabled( true );
  1395. btnPrevious.setEnabled( true ) ;
  1396. btnNext.setEnabled( true );
  1397. btnLast.setEnabled( true );
  1398. btnUpdateRecord.setEnabled( true );
  1399. btnDeleteRecord.setEnabled( true );
  1400. btnNewRecord.setEnabled( true );
  1401.  
  1402. btnSaveRecord.setEnabled( false );
  1403. btnCancelNewRecord.setEnabled( false );
  1404. }
  1405. catch (SQLException err) {
  1406. JOptionPane.showMessageDialog(this, err.getMessage());
  1407. }
  1408. }
  1409.  
  1410. private void btnSaveRecordActionPerformed(java.awt.event.ActionEvent evt) {
  1411.  
  1412. String nimi = textNimi.getText();
  1413. String tyylilaji = textTyyliLaji.getText();
  1414. String ikaraja = textIkaRaja.getText();
  1415. String julkaisuvuosi = textJulkaisuVuosi.getText();
  1416. String ID = textID.getText();
  1417.  
  1418. int newID = Integer.parseInt( ID );
  1419. int newJulkaisuvuosi = Integer.parseInt( julkaisuvuosi );
  1420. int newIkaraja = Integer.parseInt( ikaraja );
  1421.  
  1422. try {
  1423. rs.moveToInsertRow();
  1424.  
  1425. rs.updateInt("ID", newID);
  1426. rs.updateString("Tyylilaji", tyylilaji);
  1427. rs.updateString("Nimi", nimi);
  1428. rs.updateInt("Ikaraja", newIkaraja);
  1429. rs.updateInt("Julkaisuvuosi", newJulkaisuvuosi);
  1430.  
  1431. rs.insertRow( );
  1432.  
  1433. stmt.close( );
  1434. rs.close( );
  1435.  
  1436. stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
  1437. String SQL = "SELECT * FROM ELOKUVAT";
  1438. rs = stmt.executeQuery( SQL );
  1439.  
  1440. rs.next();
  1441. int id_col = rs.getInt("ID");
  1442. String id = Integer.toString( id_col );
  1443. String nimi2 = rs.getString("Nimi");
  1444. int ika_col = rs.getInt("Ikaraja");
  1445. String ikaraja2 = Integer.toString( ika_col );
  1446. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  1447. String julkaisuvuosi2 = Integer.toString( julkaisu_col );
  1448. String tyylilaji2 = rs.getString("Tyylilaji");
  1449.  
  1450. textID.setText(id);
  1451. textJulkaisuVuosi.setText(julkaisuvuosi2);
  1452. textNimi.setText(nimi2);
  1453. textTyyliLaji.setText(tyylilaji2);
  1454. textIkaRaja.setText(ikaraja2);
  1455.  
  1456. btnFirst.setEnabled( true );
  1457. btnPrevious.setEnabled( true ) ;
  1458. btnNext.setEnabled( true );
  1459. btnLast.setEnabled( true );
  1460. btnUpdateRecord.setEnabled( true );
  1461. btnDeleteRecord.setEnabled( true );
  1462. btnNewRecord.setEnabled( true );
  1463.  
  1464. btnSaveRecord.setEnabled( false );
  1465. btnCancelNewRecord.setEnabled( false );
  1466.  
  1467. JOptionPane.showMessageDialog(this, "Record Saved");
  1468. }
  1469. catch (SQLException err) {
  1470. JOptionPane.showMessageDialog(this, err.getMessage());
  1471. }
  1472. }
  1473.  
  1474. private void btnDeleteRecordActionPerformed(java.awt.event.ActionEvent evt) {
  1475. try{
  1476.  
  1477. rs.deleteRow( );
  1478.  
  1479. stmt.close( );
  1480. rs.close( );
  1481.  
  1482. stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
  1483. String SQL = "SELECT * FROM ELOKUVAT";
  1484. rs = stmt.executeQuery( SQL );
  1485.  
  1486. rs.next();
  1487. int id_col = rs.getInt("ID");
  1488. String id = Integer.toString( id_col );
  1489. String nimi = rs.getString("Nimi");
  1490. int ika_col = rs.getInt("Ikaraja");
  1491. String ikaraja = Integer.toString( ika_col );
  1492. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  1493. String julkaisuvuosi = Integer.toString( julkaisu_col );
  1494. String tyylilaji = rs.getString("Tyylilaji");
  1495.  
  1496. textID.setText(id);
  1497. textJulkaisuVuosi.setText(julkaisuvuosi);
  1498. textNimi.setText(nimi);
  1499. textTyyliLaji.setText(tyylilaji);
  1500. textIkaRaja.setText(ikaraja);
  1501.  
  1502. JOptionPane.showMessageDialog(this, "Record Deleted!");
  1503. }
  1504. catch (SQLException err) {
  1505. JOptionPane.showMessageDialog(this, err.getMessage());
  1506. }
  1507. }
  1508.  
  1509. private void textJulkaisuVuosiActionPerformed(java.awt.event.ActionEvent evt) {
  1510. // TODO add your handling code here:
  1511. }
  1512.  
  1513. /**
  1514. *
  1515. * @param args
  1516. */
  1517. public static void main(String args[]) {
  1518. /* Set the Nimbus look and feel */
  1519. //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  1520. /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  1521. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  1522. */
  1523. try {
  1524. for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  1525. if ("Nimbus".equals(info.getName())) {
  1526. javax.swing.UIManager.setLookAndFeel(info.getClassName());
  1527. break;
  1528. }
  1529. }
  1530. } catch (ClassNotFoundException ex) {
  1531. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  1532. } catch (InstantiationException ex) {
  1533. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  1534. } catch (IllegalAccessException ex) {
  1535. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  1536. } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  1537. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  1538. }
  1539. //</editor-fold>
  1540.  
  1541. /* Create and display the form */
  1542. java.awt.EventQueue.invokeLater(new Runnable() {
  1543. public void run() {
  1544. new Tiedot().setVisible(true);
  1545. }
  1546. });
  1547. }
  1548.  
  1549. // Variables declaration - do not modify
  1550. private javax.swing.JList Lista;
  1551. private javax.swing.JButton btnCancelNewRecord;
  1552. private javax.swing.JButton btnDeleteRecord;
  1553. private javax.swing.JButton btnFirst;
  1554. private javax.swing.JButton btnLast;
  1555. private javax.swing.JButton btnNewRecord;
  1556. private javax.swing.JButton btnNext;
  1557. private javax.swing.JButton btnPrevious;
  1558. private javax.swing.JButton btnSaveRecord;
  1559. private javax.swing.JButton btnUpdateRecord;
  1560. private javax.swing.JLabel jLabel1;
  1561. private javax.swing.JLabel jLabel2;
  1562. private javax.swing.JLabel jLabel3;
  1563. private javax.swing.JLabel jLabel4;
  1564. private javax.swing.JPanel jPanel1;
  1565. private javax.swing.JPanel jPanel2;
  1566. private javax.swing.JPanel jPanel3;
  1567. private javax.swing.JPanel jPanel4;
  1568. private javax.swing.JScrollPane jScrollPane1;
  1569. private javax.swing.JTextField textID;
  1570. private javax.swing.JTextField textIkaRaja;
  1571. private javax.swing.JTextField textJulkaisuVuosi;
  1572. private javax.swing.JTextField textNimi;
  1573. private javax.swing.JTextField textTyyliLaji;
  1574. // End of variables declaration
  1575. }
  1576.  
  1577.  
  1578.  
  1579. ////////////////////////////////////////
  1580.  
  1581. /*
  1582. * To change this license header, choose License Headers in Project Properties.
  1583. * To change this template file, choose Tools | Templates
  1584. * and open the template in the editor.
  1585. */
  1586.  
  1587. package elokuvaform;
  1588.  
  1589. /**
  1590. *
  1591. * @author s1400744
  1592. */
  1593. public class Elokuvaform {
  1594.  
  1595. /**
  1596. * @param args the command line arguments
  1597. */
  1598. public static void main(String[] args) {
  1599. // TODO code application logic here
  1600. }
  1601.  
  1602. }
  1603.  
  1604.  
  1605. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1606.  
  1607.  
  1608.  
  1609. select * from USER1.ELOKUVAT;
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615. ////////////////////////////////////////////////////////////////
  1616.  
  1617.  
  1618.  
  1619. package Elokuvat;
  1620.  
  1621. import java.sql.Connection;
  1622. import java.sql.DriverManager;
  1623. import java.sql.SQLException;
  1624. import java.sql.Statement;
  1625. import java.sql.ResultSet;
  1626. import javax.swing.JOptionPane;
  1627.  
  1628. public class Tiedot extends javax.swing.JFrame {
  1629.  
  1630. Connection con;
  1631. Statement stmt;
  1632. ResultSet rs;
  1633.  
  1634. int curRow = 0;
  1635.  
  1636. public Tiedot() {
  1637. initComponents();
  1638. DoConnect( );
  1639. }
  1640.  
  1641. public void DoConnect( ) {
  1642. try {
  1643. String host = "jdbc:derby://localhost:1527/Moviedata";
  1644. String uName = "user1";
  1645. String uPass= "1234";
  1646. con = DriverManager.getConnection(host, uName, uPass);
  1647.  
  1648. stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
  1649. String SQL = "SELECT * FROM ELOKUVAT";
  1650. rs = stmt.executeQuery( SQL );
  1651.  
  1652. while (rs.next() ){
  1653. int id_col = rs.getInt("ID");
  1654. int raja_col = rs.getInt("Ikaraja");
  1655. int vuosi_col = rs.getInt("julkaisuvuosi");
  1656. String id = Integer.toString( id_col);
  1657. String nimi = rs.getString("nimi");
  1658. String tyylilaji = rs.getString("tyylilaji");
  1659. String ikaraja = Integer.toString( raja_col);
  1660. String julkaisuvuosi = Integer.toString( vuosi_col);
  1661.  
  1662. textID.setText (id);
  1663. textElokuva.setText(nimi);
  1664. textTyylilaji.setText(tyylilaji);
  1665. textIkaraja.setText(ikaraja);
  1666. textJulkaisuvuosi.setText(julkaisuvuosi);
  1667. }
  1668. }
  1669. catch ( SQLException err ) {
  1670. JOptionPane.showMessageDialog(this, err.getMessage( ) );
  1671. }
  1672. }
  1673.  
  1674.  
  1675. @SuppressWarnings("unchecked")
  1676. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  1677. private void initComponents() {
  1678.  
  1679. jPanel1 = new javax.swing.JPanel();
  1680. textElokuva = new javax.swing.JTextField();
  1681. textTyylilaji = new javax.swing.JTextField();
  1682. jLabel2 = new javax.swing.JLabel();
  1683. jLabel3 = new javax.swing.JLabel();
  1684. textID = new javax.swing.JTextField();
  1685. jLabel1 = new javax.swing.JLabel();
  1686. jLabel4 = new javax.swing.JLabel();
  1687. textIkaraja = new javax.swing.JTextField();
  1688. textJulkaisuvuosi = new javax.swing.JTextField();
  1689. jPanel2 = new javax.swing.JPanel();
  1690. btnFirst = new javax.swing.JButton();
  1691. btnPrevious = new javax.swing.JButton();
  1692. btnLast = new javax.swing.JButton();
  1693. btnNext = new javax.swing.JButton();
  1694. jPanel3 = new javax.swing.JPanel();
  1695. btnUpdateRecord = new javax.swing.JButton();
  1696. btnDeleteRecord = new javax.swing.JButton();
  1697. btnNewRecord = new javax.swing.JButton();
  1698. btnCancelNewRecord = new javax.swing.JButton();
  1699. btnSaveRecord = new javax.swing.JButton();
  1700.  
  1701. setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  1702.  
  1703. jLabel2.setText("Elokuvan Nimi");
  1704.  
  1705. jLabel3.setText("Tyylilaji");
  1706.  
  1707. jLabel1.setText("Ikäraja");
  1708.  
  1709. jLabel4.setText("Julkaisuvuosi");
  1710.  
  1711. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  1712. jPanel1.setLayout(jPanel1Layout);
  1713. jPanel1Layout.setHorizontalGroup(
  1714. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1715. .addGroup(jPanel1Layout.createSequentialGroup()
  1716. .addGap(26, 26, 26)
  1717. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1718. .addGroup(jPanel1Layout.createSequentialGroup()
  1719. .addComponent(jLabel2)
  1720. .addGap(36, 36, 36)
  1721. .addComponent(textElokuva, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE))
  1722. .addGroup(jPanel1Layout.createSequentialGroup()
  1723. .addGap(1, 1, 1)
  1724. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1725. .addComponent(jLabel1)
  1726. .addComponent(jLabel4)
  1727. .addComponent(jLabel3))
  1728. .addGap(38, 38, 38)
  1729. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1730. .addComponent(textIkaraja, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
  1731. .addComponent(textJulkaisuvuosi, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
  1732. .addComponent(textTyylilaji, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE))))
  1733. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  1734. .addGroup(jPanel1Layout.createSequentialGroup()
  1735. .addComponent(textID, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
  1736. .addGap(0, 0, Short.MAX_VALUE))
  1737. );
  1738. jPanel1Layout.setVerticalGroup(
  1739. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1740. .addGroup(jPanel1Layout.createSequentialGroup()
  1741. .addComponent(textID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1742. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1743. .addGroup(jPanel1Layout.createSequentialGroup()
  1744. .addGap(13, 13, 13)
  1745. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1746. .addComponent(textElokuva, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1747. .addComponent(jLabel2))
  1748. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  1749. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1750. .addComponent(textTyylilaji, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1751. .addComponent(jLabel3))
  1752. .addGap(18, 18, 18)
  1753. .addComponent(textIkaraja, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1754. .addGap(0, 46, Short.MAX_VALUE))
  1755. .addGroup(jPanel1Layout.createSequentialGroup()
  1756. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1757. .addComponent(jLabel1)
  1758. .addGap(18, 18, 18)
  1759. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1760. .addComponent(textJulkaisuvuosi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1761. .addComponent(jLabel4))
  1762. .addGap(11, 11, 11))))
  1763. );
  1764.  
  1765. btnFirst.setText("First");
  1766. btnFirst.addActionListener(new java.awt.event.ActionListener() {
  1767. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1768. btnFirstActionPerformed(evt);
  1769. }
  1770. });
  1771.  
  1772. btnPrevious.setText("Previous");
  1773. btnPrevious.addActionListener(new java.awt.event.ActionListener() {
  1774. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1775. btnPreviousActionPerformed(evt);
  1776. }
  1777. });
  1778.  
  1779. btnLast.setText("Last");
  1780. btnLast.addActionListener(new java.awt.event.ActionListener() {
  1781. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1782. btnLastActionPerformed(evt);
  1783. }
  1784. });
  1785.  
  1786. btnNext.setText("Next");
  1787. btnNext.addActionListener(new java.awt.event.ActionListener() {
  1788. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1789. btnNextActionPerformed(evt);
  1790. }
  1791. });
  1792.  
  1793. javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
  1794. jPanel2.setLayout(jPanel2Layout);
  1795. jPanel2Layout.setHorizontalGroup(
  1796. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1797. .addGroup(jPanel2Layout.createSequentialGroup()
  1798. .addGap(48, 48, 48)
  1799. .addComponent(btnFirst)
  1800. .addGap(18, 18, 18)
  1801. .addComponent(btnPrevious)
  1802. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1803. .addComponent(btnNext)
  1804. .addGap(18, 18, 18)
  1805. .addComponent(btnLast)
  1806. .addGap(29, 29, 29))
  1807. );
  1808. jPanel2Layout.setVerticalGroup(
  1809. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1810. .addGroup(jPanel2Layout.createSequentialGroup()
  1811. .addGap(32, 32, 32)
  1812. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1813. .addComponent(btnFirst)
  1814. .addComponent(btnPrevious)
  1815. .addComponent(btnLast)
  1816. .addComponent(btnNext))
  1817. .addContainerGap(45, Short.MAX_VALUE))
  1818. );
  1819.  
  1820. btnUpdateRecord.setText("Update Record");
  1821. btnUpdateRecord.addActionListener(new java.awt.event.ActionListener() {
  1822. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1823. btnUpdateRecordActionPerformed(evt);
  1824. }
  1825. });
  1826.  
  1827. btnDeleteRecord.setText("Delete Record");
  1828.  
  1829. btnNewRecord.setText("New Record");
  1830. btnNewRecord.addActionListener(new java.awt.event.ActionListener() {
  1831. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1832. btnNewRecordActionPerformed(evt);
  1833. }
  1834. });
  1835.  
  1836. btnCancelNewRecord.setText("Cancel New Record");
  1837. btnCancelNewRecord.setEnabled(false);
  1838. btnCancelNewRecord.addActionListener(new java.awt.event.ActionListener() {
  1839. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1840. btnCancelNewRecordActionPerformed(evt);
  1841. }
  1842. });
  1843.  
  1844. btnSaveRecord.setText("Save New Record");
  1845. btnSaveRecord.setEnabled(false);
  1846. btnSaveRecord.addActionListener(new java.awt.event.ActionListener() {
  1847. public void actionPerformed(java.awt.event.ActionEvent evt) {
  1848. btnSaveRecordActionPerformed(evt);
  1849. }
  1850. });
  1851.  
  1852. javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
  1853. jPanel3.setLayout(jPanel3Layout);
  1854. jPanel3Layout.setHorizontalGroup(
  1855. jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1856. .addGroup(jPanel3Layout.createSequentialGroup()
  1857. .addGap(31, 31, 31)
  1858. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1859. .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
  1860. .addComponent(btnSaveRecord, javax.swing.GroupLayout.DEFAULT_SIZE, 136, Short.MAX_VALUE)
  1861. .addGap(70, 70, 70)
  1862. .addComponent(btnCancelNewRecord, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)
  1863. .addGap(59, 59, 59))
  1864. .addGroup(jPanel3Layout.createSequentialGroup()
  1865. .addComponent(btnUpdateRecord)
  1866. .addGap(31, 31, 31)
  1867. .addComponent(btnDeleteRecord)
  1868. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1869. .addComponent(btnNewRecord)
  1870. .addGap(39, 39, 39))))
  1871. );
  1872. jPanel3Layout.setVerticalGroup(
  1873. jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1874. .addGroup(jPanel3Layout.createSequentialGroup()
  1875. .addGap(39, 39, 39)
  1876. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1877. .addComponent(btnUpdateRecord)
  1878. .addComponent(btnDeleteRecord)
  1879. .addComponent(btnNewRecord))
  1880. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 51, Short.MAX_VALUE)
  1881. .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  1882. .addComponent(btnCancelNewRecord)
  1883. .addComponent(btnSaveRecord))
  1884. .addContainerGap())
  1885. );
  1886.  
  1887. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  1888. getContentPane().setLayout(layout);
  1889. layout.setHorizontalGroup(
  1890. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1891. .addGroup(layout.createSequentialGroup()
  1892. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1893. .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1894. .addGroup(layout.createSequentialGroup()
  1895. .addContainerGap()
  1896. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1897. .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1898. .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
  1899. .addContainerGap())
  1900. );
  1901. layout.setVerticalGroup(
  1902. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  1903. .addGroup(layout.createSequentialGroup()
  1904. .addContainerGap()
  1905. .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1906. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  1907. .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  1908. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  1909. .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1910. .addContainerGap())
  1911. );
  1912.  
  1913. pack();
  1914. }// </editor-fold>
  1915.  
  1916. private void btnFirstActionPerformed(java.awt.event.ActionEvent evt) {
  1917. try {
  1918. rs.first();
  1919. int id_col = rs.getInt("ID");
  1920. int raja_col = rs.getInt("Ikaraja");
  1921. int vuosi_col = rs.getInt("julkaisuvuosi");
  1922. String id = Integer.toString( id_col);
  1923. String nimi = rs.getString("nimi");
  1924. String tyylilaji = rs.getString("tyylilaji");
  1925. String ikaraja = Integer.toString( raja_col);
  1926. String julkaisuvuosi = Integer.toString( vuosi_col);
  1927.  
  1928. textID.setText (id);
  1929. textElokuva.setText(nimi);
  1930. textTyylilaji.setText(tyylilaji);
  1931. textIkaraja.setText(ikaraja);
  1932. textJulkaisuvuosi.setText(julkaisuvuosi);
  1933. }
  1934. catch (SQLException err) {
  1935. JOptionPane.showMessageDialog(this, err.getMessage());
  1936. }
  1937. }
  1938.  
  1939. private void btnPreviousActionPerformed(java.awt.event.ActionEvent evt) {
  1940. try {
  1941. if (rs.previous()) {
  1942. int id_col = rs.getInt("ID");
  1943. int raja_col = rs.getInt("Ikaraja");
  1944. int vuosi_col = rs.getInt("julkaisuvuosi");
  1945. String id = Integer.toString( id_col);
  1946. String nimi = rs.getString("nimi");
  1947. String tyylilaji = rs.getString("tyylilaji");
  1948. String ikaraja = Integer.toString( raja_col);
  1949. String julkaisuvuosi = Integer.toString( vuosi_col);
  1950.  
  1951. textID.setText (id);
  1952. textElokuva.setText(nimi);
  1953. textTyylilaji.setText(tyylilaji);
  1954. textIkaraja.setText(ikaraja);
  1955. textJulkaisuvuosi.setText(julkaisuvuosi);
  1956. }
  1957. else {
  1958. rs.next();
  1959. JOptionPane.showMessageDialog(this, "Start of File");
  1960. }
  1961. }
  1962. catch (SQLException err) {
  1963. JOptionPane.showMessageDialog(Tiedot.this, err.getMessage());
  1964. }
  1965. }
  1966.  
  1967. private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {
  1968. try {
  1969. if (rs.next()) {
  1970. int id_col = rs.getInt("ID");
  1971. int raja_col = rs.getInt("Ikaraja");
  1972. int vuosi_col = rs.getInt("julkaisuvuosi");
  1973. String id = Integer.toString( id_col);
  1974. String nimi = rs.getString("nimi");
  1975. String tyylilaji = rs.getString("tyylilaji");
  1976. String ikaraja = Integer.toString( raja_col);
  1977. String julkaisuvuosi = Integer.toString( vuosi_col);
  1978.  
  1979. textID.setText (id);
  1980. textElokuva.setText(nimi);
  1981. textTyylilaji.setText(tyylilaji);
  1982. textIkaraja.setText(ikaraja);
  1983. textJulkaisuvuosi.setText(julkaisuvuosi);
  1984. }
  1985. else {
  1986. rs.previous();
  1987. JOptionPane.showMessageDialog(this, "End of File");
  1988. }
  1989. }
  1990. catch (SQLException err) {
  1991. JOptionPane.showMessageDialog(Tiedot.this, err.getMessage());
  1992. }
  1993. }
  1994.  
  1995. private void btnLastActionPerformed(java.awt.event.ActionEvent evt) {
  1996. try {
  1997. rs.last();
  1998. int id_col = rs.getInt("ID");
  1999. int raja_col = rs.getInt("Ikaraja");
  2000. int vuosi_col = rs.getInt("julkaisuvuosi");
  2001. String id = Integer.toString( id_col);
  2002. String nimi = rs.getString("nimi");
  2003. String tyylilaji = rs.getString("tyylilaji");
  2004. String ikaraja = Integer.toString( raja_col);
  2005. String julkaisuvuosi = Integer.toString( vuosi_col);
  2006.  
  2007. textID.setText (id);
  2008. textElokuva.setText(nimi);
  2009. textTyylilaji.setText(tyylilaji);
  2010. textIkaraja.setText(ikaraja);
  2011. textJulkaisuvuosi.setText(julkaisuvuosi);
  2012. }
  2013. catch (SQLException err) {
  2014. JOptionPane.showMessageDialog(this, err.getMessage());
  2015. }
  2016. }
  2017.  
  2018. private void btnUpdateRecordActionPerformed(java.awt.event.ActionEvent evt) {
  2019. String nimi = textElokuva.getText( );
  2020. String tyylilaji = textTyylilaji.getText( );
  2021. String ikaraja = textIkaraja.getText( );
  2022. String julkaisuvuosi = textJulkaisuvuosi.getText( );
  2023. String ID = textID.getText( );
  2024.  
  2025. int newID = Integer.parseInt(ID);
  2026. int newIkaraja = Integer.parseInt(ikaraja);
  2027. int newjulkaisuvuosi = Integer.parseInt(julkaisuvuosi);
  2028.  
  2029. try {
  2030. rs.updateInt("ID", newID);
  2031. rs.updateInt("ikaraja", newIkaraja);
  2032. rs.updateInt("julkaisuvuosi", newjulkaisuvuosi);
  2033. rs.updateString( "nimi", nimi );
  2034. rs.updateString( "Tyylilaji", tyylilaji );
  2035. rs.updateRow( );
  2036. JOptionPane.showMessageDialog(Tiedot.this, "Updated");
  2037.  
  2038. }
  2039. catch (SQLException err) {
  2040. System.out.println(err.getMessage());
  2041. }
  2042. }
  2043.  
  2044. private void btnNewRecordActionPerformed(java.awt.event.ActionEvent evt) {
  2045. try {
  2046. curRow = rs.getRow();
  2047.  
  2048. textElokuva.setText("");
  2049. textTyylilaji.setText("");
  2050. textIkaraja.setText("");
  2051. textJulkaisuvuosi.setText("");
  2052. textID.setText("");
  2053.  
  2054. btnFirst.setEnabled( false );
  2055. btnPrevious.setEnabled( false ) ;
  2056. btnNext.setEnabled( false );
  2057. btnLast.setEnabled( false );
  2058. btnUpdateRecord.setEnabled( false );
  2059. btnDeleteRecord.setEnabled( false );
  2060. btnNewRecord.setEnabled( false );
  2061.  
  2062. btnSaveRecord.setEnabled( true );
  2063. btnCancelNewRecord.setEnabled( true );
  2064. }
  2065. catch (SQLException err) {
  2066. System.out.println(err.getMessage());
  2067. }
  2068. }
  2069.  
  2070. private void btnCancelNewRecordActionPerformed(java.awt.event.ActionEvent evt) {
  2071.  
  2072. try {
  2073. rs.absolute( curRow );
  2074.  
  2075. textID.setText( Integer.toString( rs.getInt("ID")) );
  2076. textTyylilaji.setText( rs.getString("Tyylilaji") );
  2077. textElokuva.setText( rs.getString("Nimi") );
  2078. textIkaraja.setText( Integer.toString( rs.getInt("Ikaraja")) );
  2079. textJulkaisuvuosi.setText( Integer.toString( rs.getInt("Julkaisuvuosi")) );
  2080.  
  2081. btnFirst.setEnabled( true );
  2082. btnPrevious.setEnabled( true ) ;
  2083. btnNext.setEnabled( true );
  2084. btnLast.setEnabled( true );
  2085. btnUpdateRecord.setEnabled( true );
  2086. btnDeleteRecord.setEnabled( true );
  2087. btnNewRecord.setEnabled( true );
  2088.  
  2089. btnSaveRecord.setEnabled( false );
  2090. btnCancelNewRecord.setEnabled( false );
  2091. }
  2092. catch ( SQLException err ) {
  2093. JOptionPane.showMessageDialog(this, err.getMessage( ) );
  2094. }
  2095. }
  2096.  
  2097. private void btnSaveRecordActionPerformed(java.awt.event.ActionEvent evt) {
  2098.  
  2099.  
  2100. String nimi = textElokuva.getText();
  2101. String tyylilaji = textTyylilaji.getText();
  2102. String ikaraja = textIkaraja.getText();
  2103. String julkaisuvuosi = textJulkaisuvuosi.getText();
  2104. String ID = textID.getText();
  2105.  
  2106. int newID = Integer.parseInt( ID );
  2107. int newjulkaisuvuosi = Integer.parseInt( julkaisuvuosi );
  2108. int newikaraja = Integer.parseInt( ikaraja );
  2109.  
  2110. try {
  2111. rs.moveToInsertRow( );
  2112.  
  2113. rs.updateInt("ID", newID);
  2114. rs.updateString("Nimi", nimi);
  2115. rs.updateString("Tyylilaji", tyylilaji);
  2116. rs.updateInt("Ikaraja", newikaraja);
  2117. rs.updateInt("Julkaisuvuosi", newjulkaisuvuosi);
  2118.  
  2119. rs.insertRow();
  2120.  
  2121. stmt.close();
  2122. rs.close();
  2123.  
  2124. stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
  2125.  
  2126. String SQL = "SELECT * FROM Tiedot";
  2127. rs = stmt.executeQuery( SQL );
  2128.  
  2129. rs.next( );
  2130.  
  2131. int id_col = rs.getInt("ID");
  2132. String id = Integer.toString( id_col );
  2133. String nimi2 = rs.getString("Nimi");
  2134. int ika_col = rs.getInt("Ikaraja");
  2135. String ikaraja2 = Integer.toString( ika_col );
  2136. int julkaisu_col = rs.getInt("Julkaisuvuosi");
  2137. String julkaisuvuosi2 = Integer.toString( julkaisu_col );
  2138. String tyylilaji2 = rs.getString("Tyylilaji");
  2139.  
  2140. textID.setText(id);
  2141. textElokuva.setText(nimi2);
  2142. textIkaraja.setText(ikaraja2);
  2143. textJulkaisuvuosi.setText(julkaisuvuosi2);
  2144. textTyylilaji.setText(tyylilaji2);
  2145.  
  2146. btnFirst.setEnabled( false );
  2147. btnPrevious.setEnabled( false ) ;
  2148. btnNext.setEnabled( false );
  2149. btnLast.setEnabled( false );
  2150. btnUpdateRecord.setEnabled( false );
  2151. btnDeleteRecord.setEnabled( false );
  2152. btnNewRecord.setEnabled( false );
  2153.  
  2154. btnSaveRecord.setEnabled( true );
  2155. btnCancelNewRecord.setEnabled( true );
  2156.  
  2157. JOptionPane.showMessageDialog(this, "Record Saved");
  2158. }
  2159. catch (SQLException err) {
  2160. JOptionPane.showMessageDialog(this, err.getMessage());
  2161. }
  2162.  
  2163. }
  2164.  
  2165. /**
  2166. * @param args the command line arguments
  2167. */
  2168. public static void main(String args[]) {
  2169. /* Set the Nimbus look and feel */
  2170. //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  2171. /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  2172. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  2173. */
  2174. try {
  2175. for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  2176. if ("Nimbus".equals(info.getName())) {
  2177. javax.swing.UIManager.setLookAndFeel(info.getClassName());
  2178. break;
  2179. }
  2180. }
  2181. } catch (ClassNotFoundException ex) {
  2182. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  2183. } catch (InstantiationException ex) {
  2184. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  2185. } catch (IllegalAccessException ex) {
  2186. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  2187. } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  2188. java.util.logging.Logger.getLogger(Tiedot.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  2189. }
  2190. //</editor-fold>
  2191.  
  2192. /* Create and display the form */
  2193. java.awt.EventQueue.invokeLater(new Runnable() {
  2194. public void run() {
  2195. new Tiedot().setVisible(true);
  2196. }
  2197. });
  2198. }
  2199.  
  2200. // Variables declaration - do not modify
  2201. private javax.swing.JButton btnCancelNewRecord;
  2202. private javax.swing.JButton btnDeleteRecord;
  2203. private javax.swing.JButton btnFirst;
  2204. private javax.swing.JButton btnLast;
  2205. private javax.swing.JButton btnNewRecord;
  2206. private javax.swing.JButton btnNext;
  2207. private javax.swing.JButton btnPrevious;
  2208. private javax.swing.JButton btnSaveRecord;
  2209. private javax.swing.JButton btnUpdateRecord;
  2210. private javax.swing.JLabel jLabel1;
  2211. private javax.swing.JLabel jLabel2;
  2212. private javax.swing.JLabel jLabel3;
  2213. private javax.swing.JLabel jLabel4;
  2214. private javax.swing.JPanel jPanel1;
  2215. private javax.swing.JPanel jPanel2;
  2216. private javax.swing.JPanel jPanel3;
  2217. private javax.swing.JTextField textElokuva;
  2218. private javax.swing.JTextField textID;
  2219. private javax.swing.JTextField textIkaraja;
  2220. private javax.swing.JTextField textJulkaisuvuosi;
  2221. private javax.swing.JTextField textTyylilaji;
  2222. // End of variables declaration
  2223. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement