To use below example, create a DSN name of “ShivaEvening“, which point the Microsoft access database file provided in this article.
Download below files:
package com.shivasoft.event; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class JDBCSwing implements ActionListener { JLabel lblFName,lblLname,lblAddress,lblSalary,lblF,lblL,lblA,lblS, lblFVal,lblLVal,lblAVal,lblSVal; JTextField txtFName,txtLName,txtAddress,txtSalary; JButton btnAdd,btnUpdate,btnDelete,btnPrev,btnNext; ResultSet rs; public static void main(String[] args) { JDBCSwing obj = new JDBCSwing(); obj.createUI(); } private void createUI() { JFrame frame = new JFrame("JDBC All in One"); JPanel pnlInput = new JPanel(new GridLayout(4,2)); lblFName = new JLabel(" First Name : "); txtFName = new JTextField(15); lblLname = new JLabel(" Last Name : "); txtLName = new JTextField(); lblAddress = new JLabel(" Address : "); txtAddress = new JTextField(); lblSalary = new JLabel(" Salary : "); txtSalary = new JTextField(); pnlInput.add(lblFName); pnlInput.add(txtFName); pnlInput.add(lblLname); pnlInput.add(txtLName); pnlInput.add(lblAddress); pnlInput.add(txtAddress); pnlInput.add(lblSalary); pnlInput.add(txtSalary); JPanel pnlButton = new JPanel(new GridLayout(1,3)); btnAdd = new JButton("Add"); btnAdd.addActionListener(this); btnUpdate = new JButton("Update"); btnUpdate.addActionListener(this); btnDelete = new JButton("Delete"); btnDelete.addActionListener(this); pnlButton.add(btnAdd); pnlButton.add(btnUpdate); pnlButton.add(btnDelete); JPanel pnlNavigate = new JPanel(new GridLayout(1,2)); btnPrev = new JButton(" << "); btnPrev.setActionCommand("Prev"); btnPrev.addActionListener(this); btnNext = new JButton(" >> "); btnNext.setActionCommand("Next"); btnNext.addActionListener(this); pnlNavigate.add(btnPrev); pnlNavigate.add(btnNext); JPanel pnlNavAns = new JPanel(new GridLayout(4,2)); lblF = new JLabel(" First Name : "); lblFVal = new JLabel("Val"); lblL = new JLabel(" Last Name : "); lblLVal = new JLabel("Val"); lblA = new JLabel(" Address : "); lblAVal = new JLabel("Val"); lblS = new JLabel(" Salary : "); lblSVal = new JLabel("Val"); pnlNavAns.add(lblF); pnlNavAns.add(lblFVal); pnlNavAns.add(lblL); pnlNavAns.add(lblLVal); pnlNavAns.add(lblA); pnlNavAns.add(lblAVal); pnlNavAns.add(lblS); pnlNavAns.add(lblSVal); Container cn = frame.getContentPane(); cn.setLayout(new BoxLayout(cn,BoxLayout.Y_AXIS)); frame.add(pnlInput); frame.add(pnlButton); frame.add(pnlNavAns); frame.add(pnlNavigate); //If this will not be written, the only frame will be closed // but the application will be active. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } @Override public void actionPerformed(ActionEvent evt) { String action = evt.getActionCommand(); if(action.equals("Add")) { addOperation(); }else if(action.equals("Update")) { updateOperation(); }else if(action.equals("Delete")) { deleteOperation(); }else if(action.equals("Prev")) { preNavigation(); }else if(action.equals("Next")) { nextNavigation(); } } private void addOperation() { try { //Load Jdbc Odbc Driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:ShivaEvening"); String sql = "INSERT INTO Employee (FName,LName,Address,Salary) " + "Values ('"+txtFName.getText()+"'," + "'"+txtLName.getText()+"'," + "'"+txtAddress.getText()+"'," + "'"+txtSalary.getText()+"')"; Statement st = con.createStatement(); st.execute(sql); JOptionPane.showMessageDialog(null, "Record Added Succesfully.","Record Added", JOptionPane.INFORMATION_MESSAGE); clearControls(); }catch(Exception e) { JOptionPane.showMessageDialog(null, e.getMessage(),"Error", JOptionPane.ERROR_MESSAGE); } } private void updateOperation() { try { //Load Jdbc Odbc Driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:ShivaEvening"); String sql = "Update Employee " + "SET LName = '"+txtLName.getText()+"'," + "Address = '"+txtAddress.getText()+"'," + "Salary = '"+txtSalary.getText()+"'" + "Where FName = '"+txtFName.getText()+"'"; JOptionPane.showMessageDialog(null, sql,"Record Updated", JOptionPane.INFORMATION_MESSAGE); Statement st = con.createStatement(); st.execute(sql); JOptionPane.showMessageDialog(null, "Record Update Succesfully.", "Record Updated",JOptionPane.INFORMATION_MESSAGE); clearControls(); }catch(Exception e) { JOptionPane.showMessageDialog(null, e.getMessage(),"Error", JOptionPane.ERROR_MESSAGE); } } private void deleteOperation() { int ans = JOptionPane.showConfirmDialog(null, "Are you sure to delete the Record ?", "Delete Record", JOptionPane.YES_NO_OPTION); if(ans == JOptionPane.YES_OPTION) { try{ //Load Jdbc Odbc Driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:ShivaEvening"); String sql = "Delete FROM Employee where FName = '"+txtFName.getText()+"'"; Statement st = con.createStatement(); st.execute(sql); }catch(Exception e) { JOptionPane.showMessageDialog(null, e.getMessage(),"Error", JOptionPane.ERROR_MESSAGE); } JOptionPane.showMessageDialog(null, "Record Deleted","Success", JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog(null, "Operation Canceled","Cancel", JOptionPane.INFORMATION_MESSAGE); } } private void preNavigation() { try{ if(rs == null) { //Load Jdbc Odbc Driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:ShivaEvening"); String sql = "SELECT * FROM Employee"; Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); rs = st.executeQuery(sql); } if(rs.previous()) { populateValue(); } }catch(Exception e) { JOptionPane.showMessageDialog(null, e.getMessage(),"Error", JOptionPane.ERROR_MESSAGE); } } private void nextNavigation() { try{ if(rs == null) { //Load Jdbc Odbc Driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:ShivaEvening"); String sql = "SELECT * FROM Employee"; Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); rs = st.executeQuery(sql); } if(rs.next()) { populateValue(); } }catch(Exception e) { JOptionPane.showMessageDialog(null, e.getMessage(),"Error", JOptionPane.ERROR_MESSAGE); } } private void populateValue() throws Exception { String fName = rs.getString("FName"); String lName = rs.getString("LName"); String add = rs.getString("Address"); String sal = rs.getString("Salary"); lblFVal.setText(fName); lblLVal.setText(lName); lblAVal.setText(add); lblSVal.setText(sal); txtFName.setText(fName); txtLName.setText(lName); txtAddress.setText(add); txtSalary.setText(sal); } private void clearControls() { txtFName.setText(""); txtLName.setText(""); txtAddress.setText(""); txtSalary.setText(""); } }
Leave a Reply to adminCancel reply