Guest User

Untitled

a guest
Jul 14th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.44 KB | None | 0 0
  1.  
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. import java.sql.*;
  6. import java.util.Vector;
  7. import javax.swing.event.TableModelEvent;
  8. import javax.swing.table.*;
  9.  
  10.  
  11. public class wew extends JFrame implements ActionListener {
  12.  
  13.  
  14.  
  15. ResultSet rs;
  16. static String url = "jdbc:odbc:first";
  17. private Connection con;
  18.  
  19. JFrame jframe = new JFrame("My First JDBC Program");
  20. JScrollPane scrollPane = new JScrollPane();
  21. JPanel panel=new JPanel();
  22.  
  23.  
  24. JTable table = new JTable();
  25.  
  26. JTextField txtName = new JTextField(6);
  27. JTextField txtAge = new JTextField(3);
  28. JTextField txtSubj = new JTextField(10);
  29. JTextField txtRec = new JTextField(3);
  30.  
  31.  
  32. JLabel lblName = new JLabel("Enter your Name:");
  33. JLabel lblAge = new JLabel("Enter your Age:");
  34. JLabel lblSubj = new JLabel("Enter your Favorite Subject:");
  35. JLabel lblRec = new JLabel("Record ID: ");
  36.  
  37. JButton btnAdd = new JButton("Add");
  38. JButton btnSave = new JButton("Save");
  39. JButton btnClear = new JButton("Clear");
  40. JButton btnEdit = new JButton("Edit");
  41. JButton btnUpdate = new JButton("Update");
  42. JButton btnDelete = new JButton("Delete");
  43. JButton btnRefresh = new JButton("Refresh");
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. public wew() throws SQLException
  51.  
  52. {
  53.  
  54. FlowLayout fl = new FlowLayout();
  55. jframe.setLayout(fl);
  56.  
  57.  
  58. jframe.add(lblRec);
  59. jframe.add(txtRec);
  60. jframe.add(lblName);
  61. jframe.add(txtName);
  62. jframe.add(lblAge);
  63. jframe.add(txtAge);
  64. jframe.add(lblSubj);
  65. jframe.add(txtSubj);
  66.  
  67. jframe.add(btnAdd);
  68. jframe.add(btnClear);
  69. jframe.add(btnSave);
  70. jframe.add(btnEdit);
  71. jframe.add(btnUpdate);
  72. jframe.add(btnDelete);
  73. jframe.add(btnRefresh);
  74.  
  75.  
  76. jframe.add(panel);
  77. jframe.add(scrollPane);
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84. btnAdd.addActionListener(this);
  85. btnClear.addActionListener(this);
  86. btnSave.addActionListener(this);
  87. btnEdit.addActionListener(this);
  88. btnUpdate.addActionListener(this);
  89. btnDelete.addActionListener(this);
  90. btnRefresh.addActionListener(this);
  91.  
  92.  
  93.  
  94.  
  95. jframe.setSize(650,235);
  96.  
  97.  
  98. txtName.setEditable(false);
  99. txtAge.setEditable(false);
  100. txtSubj.setEditable(false);
  101. lblRec.setVisible(false);
  102. txtRec.setVisible(false);
  103.  
  104. btnUpdate.setEnabled(false);
  105. btnSave.setEnabled(false);
  106. btnDelete.setEnabled(false);
  107.  
  108.  
  109.  
  110. //set the Connection to database
  111. getConnection();
  112. FillTable();
  113.  
  114. }
  115.  
  116. public void actionPerformed (ActionEvent ae)
  117. {
  118. if (ae.getSource() == btnAdd)
  119. {
  120. txtName.setEditable(true);
  121. txtAge.setEditable(true);
  122. txtSubj.setEditable(true);
  123. txtName.grabFocus();
  124.  
  125. btnSave.setEnabled(true);
  126. }
  127.  
  128. else if (ae.getSource() == btnClear)
  129. {
  130. txtName.setText(null);
  131. txtAge.setText(null);
  132. txtSubj.setText(null);
  133. txtName.grabFocus();
  134. }
  135.  
  136. else if ( ae.getSource() == btnSave)
  137. {
  138. try {
  139. Save();
  140. } catch (SQLException e) {
  141. // TODO Auto-generated catch block
  142. e.printStackTrace();
  143. }
  144. }
  145. else if (ae.getSource() == btnEdit)
  146. {
  147. try {
  148. Edit();
  149. } catch (SQLException e) {
  150. // TODO Auto-generated catch block
  151. e.printStackTrace();
  152. }
  153. }
  154.  
  155. else if (ae.getSource() == btnUpdate)
  156. {
  157. try {
  158. Update();
  159. } catch (SQLException e) {
  160. // TODO Auto-generated catch block
  161. e.printStackTrace();
  162. }
  163. }
  164.  
  165. else if (ae.getSource() == btnDelete)
  166. {
  167. try {
  168. Delete();
  169. } catch (SQLException e) {
  170. // TODO Auto-generated catch block
  171. e.printStackTrace();
  172. }
  173. }
  174.  
  175. else if (ae.getSource() == btnRefresh)
  176. {
  177. table.repaint();
  178.  
  179.  
  180.  
  181. }
  182.  
  183.  
  184. }
  185.  
  186.  
  187. // code
  188. public void Save() throws SQLException
  189. {
  190.  
  191. String Sname = txtName.getText();
  192. String Sage = txtAge.getText();
  193. String Ssubject = txtSubj.getText();
  194.  
  195. String sql = "INSERT INTO Table1 (Name, Age,Subject)"
  196. + " VALUES ('" + Sname + "','"+ Sage +"','" + Ssubject +"')";
  197.  
  198. PreparedStatement ps = con.prepareStatement(sql);
  199.  
  200. //create a statement for the INSERT Query
  201. ps.executeUpdate();
  202.  
  203. JOptionPane.showMessageDialog(null,"Record successfully added.");
  204.  
  205.  
  206. txtName.setText(null);
  207. txtAge.setText(null);
  208. txtSubj.setText(null);
  209.  
  210. txtName.setEditable(false);
  211. txtAge.setEditable(false);
  212. txtSubj.setEditable(false);
  213.  
  214. btnSave.setEnabled(false);
  215.  
  216.  
  217. }
  218.  
  219. //edit code
  220. public void Edit() throws SQLException
  221. {
  222.  
  223.  
  224. //SEARCH ID number ONLY
  225. String input = JOptionPane.showInputDialog("Enter ID Number");
  226.  
  227.  
  228. //Query for SEARCH
  229. String sql = "SELECT * from Table1 where [ID] = " + input + "";
  230.  
  231.  
  232.  
  233. Statement s = con.createStatement();
  234.  
  235. ResultSet rs = s.executeQuery(sql);// get any ResultSet that came from our query
  236.  
  237.  
  238. rs.next();
  239.  
  240. txtRec.setText(rs.getString(1));
  241. txtName.setText(rs.getString(2));
  242. txtAge.setText(rs.getString(3));
  243. txtSubj.setText(rs.getString(4));
  244.  
  245. txtName.setEditable(true);
  246. txtAge.setEditable(true);
  247. txtSubj.setEditable(true);
  248. txtName.grabFocus();
  249.  
  250. btnUpdate.setEnabled(true);
  251. btnDelete.setEnabled(true);
  252.  
  253.  
  254.  
  255. }
  256.  
  257. public void Update()throws SQLException
  258. {
  259.  
  260. JTable table = new JTable();
  261. Statement s = con.createStatement();
  262.  
  263. String ID = txtRec.getText();
  264. String Sname = txtName.getText();
  265. String Sage = txtAge.getText();
  266. String Ssubj = txtSubj.getText();
  267.  
  268. int col1=table.getSelectedColumn();
  269. int row1=table.getSelectedRow();
  270.  
  271.  
  272.  
  273. PreparedStatement ps = con.prepareStatement("UPDATE Table1 SET Name='" + Sname + "',Age='" + Sage + "',Subject ='" + Ssubj + "' where ID =" + ID + "");
  274.  
  275. //String sql = "UPDATE Table1 SET ID = "+ ID + " , Name='" + Sname + "',Age='" + Sage + "',Subject ='" + Ssubj + "' where ID =" + ID + "";
  276.  
  277.  
  278.  
  279. ps.executeUpdate();
  280.  
  281.  
  282.  
  283.  
  284.  
  285. JOptionPane.showMessageDialog(null,"Record Successfully updated!.");
  286. con.close();
  287.  
  288. txtName.setEditable(false);
  289. txtAge.setEditable(false);
  290. txtSubj.setEditable(false);
  291. btnUpdate.setEnabled(false);
  292.  
  293.  
  294.  
  295.  
  296. }
  297.  
  298. public void Delete()throws SQLException
  299. {
  300.  
  301. Statement s = con.createStatement();
  302. String ID = txtRec.getText();
  303.  
  304.  
  305. String sql = "DELETE FROM Table1 WHERE ID =" + ID + "";
  306. s.execute(sql);// get any ResultSet that came from our query
  307.  
  308.  
  309. JOptionPane.showMessageDialog(null,"Record Successfully deleted!.");
  310.  
  311. txtName.setText(null);
  312. txtAge.setText(null);
  313. txtSubj.setText(null);
  314.  
  315.  
  316. }
  317. public void FillTable()throws SQLException{
  318.  
  319.  
  320. Vector<String> columnNames = new Vector<String>();
  321. Vector<Vector<Object>> data = new Vector<Vector<Object>>();
  322. JPanel panel=new JPanel();
  323.  
  324. try {
  325.  
  326. String sql = "Select * from Table1";
  327. Statement stmt = con.createStatement();
  328.  
  329. ResultSet rs = stmt.executeQuery( sql );
  330.  
  331. ResultSetMetaData md = rs.getMetaData();
  332.  
  333. int columns = md.getColumnCount();
  334.  
  335. for (int i = 1; i <= columns; i++) {
  336. columnNames.addElement( md.getColumnName(i) );
  337. }
  338. while (rs.next()) {
  339. Vector<Object> row = new Vector<Object>(columns);
  340. for (int i = 1; i <= columns; i++){
  341. row.addElement( rs.getObject(i) );
  342. }
  343. data.addElement( row );
  344. }
  345. rs.close();
  346. stmt.close();
  347. }
  348. catch(Exception e){
  349. System.out.println(e);
  350. }
  351. JTable table = new JTable(data, columnNames);
  352. TableColumn col;
  353.  
  354.  
  355.  
  356.  
  357.  
  358. for (int i = 0; i < table.getColumnCount(); i++) {
  359. col = table.getColumnModel().getColumn(i);
  360. col.setMaxWidth(250);
  361. }
  362.  
  363. JScrollPane scrollPane = new JScrollPane( table );
  364. panel.add( scrollPane );
  365. jframe.add(panel);
  366. jframe.setVisible(true);
  367.  
  368.  
  369.  
  370. }
  371.  
  372.  
  373.  
  374.  
  375.  
  376. //Connection Code
  377. public Connection getConnection(){
  378.  
  379. try {
  380. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  381.  
  382. } catch(java.lang.ClassNotFoundException e) {
  383. System.err.print("ClassNotFoundException: ");
  384. System.err.println(e.getMessage());
  385. }
  386.  
  387. try {
  388. //single program
  389. //con = DriverManager.getConnection(url);
  390. //for jar file
  391. con = DriverManager.getConnection("jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=C:\\Users\\Gerald\\Desktop\\Database3.accdb");
  392. } catch(SQLException ex) {
  393. System.err.println("SQLException: " + ex.getMessage());
  394. }
  395.  
  396. return con;
  397.  
  398.  
  399. }
  400.  
  401.  
  402. public static void main(String[] args) throws SQLException {
  403. // TODO Auto-generated method stub
  404.  
  405. wew jdbc = new wew();
  406.  
  407.  
  408. }
  409.  
  410. }
Add Comment
Please, Sign In to add comment