Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

HSNC UNIVERSITY, MUMBAI   

KISHINCHAND CHELLARAM COLLEGE, 


 CHURCHGATE, MUMBAI  
DEPT. OF COMPUTER SCIENCE 

S.Y.B.Sc CS Semester – IV 
Academic Year : 2021-22  
Faculty In-Charge: Ms. Kirti Bhatt
US-SCS-402 Advanced Java

Self Learning Evaluation by:

Name: Sabahat Khan


Roll no: 34
Group Number 7
Date: 24/03/22

Topic: Customer database for a Cake Shop


Database:
Schema:
CREATE TABLE "Customer" (
"Cid" TEXT NOT NULL,
"Name" TEXT,
"Contact" TEXT,
"Address" TEXT,
"Pincode" TEXT,
PRIMARY KEY("Cid")
);

Add Customer:
Update Customer:
Clear data from the text box:

Upon click on the “Clear Data” Button:


Show data in the Table through ‘Show Data’ Button:

Searching Customer Details by their Id:


Printing Customer table into the device:

Database after adding new customers:


Printed Pdf document of the Customer Table:

Exit Button:

Program Execution will stop after clicking on ‘Yes’ in the Exit input dialog box.
Code:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Customer;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.MessageFormat;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
*
* @author SABAHAT KHAN
*/
public class Customer extends javax.swing.JFrame {

/**
* Creates new form Customer
*/
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs= null;
DefaultTableModel model = new DefaultTableModel();

public Customer() {
initComponents();

conn = Customer.ConnectDb();

Object col[] = {"Cid","Name","Contact","Address","Pincode"};


model.setColumnIdentifiers(col);
jTable.setModel(model);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel1 = new javax.swing.JLabel();


jtxtid = new javax.swing.JTextField();
jbtnShow = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTable = new javax.swing.JTable();
jLabel2 = new javax.swing.JLabel();
jtxtname = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jtxtcontact = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
jtxtaddress = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
jtxtsearch = new javax.swing.JTextField();
jbtnAddData = new javax.swing.JButton();
jbtnPrint = new javax.swing.JButton();
jLabel7 = new javax.swing.JLabel();
jbtnClearData = new javax.swing.JButton();
jbtnUpdate = new javax.swing.JButton();
jbtnExit = new javax.swing.JButton();
jtxtpincode = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(255, 51, 51));
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N


jLabel1.setText("Customer Id");
getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(50,
110, -1, -1));

jtxtid.setBackground(new java.awt.Color(255, 204, 255));


jtxtid.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
jtxtid.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jtxtidActionPerformed(evt);
}
});
getContentPane().add(jtxtid, new org.netbeans.lib.awtextra.AbsoluteConstraints(290,
110, 270, -1));

jbtnShow.setBackground(new java.awt.Color(51, 204, 255));


jbtnShow.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
jbtnShow.setText("Show Data");
jbtnShow.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnShowActionPerformed(evt);
}
});
getContentPane().add(jbtnShow, new
org.netbeans.lib.awtextra.AbsoluteConstraints(400, 560, -1, -1));

jTable.setBackground(new java.awt.Color(255, 255, 204));


jTable.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0,
0)));
jTable.setFont(new java.awt.Font("Times New Roman", 0, 18)); // NOI18N
jTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}
},
new String [] {
"Cid", "Name", "Contact", "Address", "Pin Code"
}
));
jTable.setGridColor(new java.awt.Color(0, 0, 0));
jScrollPane1.setViewportView(jTable);
getContentPane().add(jScrollPane1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(612, 101, 610, 370));

jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N


jLabel2.setText("Customer Name");
getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(50,
170, -1, -1));

jtxtname.setBackground(new java.awt.Color(255, 204, 255));


jtxtname.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
getContentPane().add(jtxtname, new org.netbeans.lib.awtextra.AbsoluteConstraints(291,
170, 270, -1));

jLabel3.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N


jLabel3.setText("Contact Number");
getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(50,
230, -1, -1));

jtxtcontact.setBackground(new java.awt.Color(255, 204, 255));


jtxtcontact.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
getContentPane().add(jtxtcontact, new
org.netbeans.lib.awtextra.AbsoluteConstraints(291, 230, 270, -1));

jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N


jLabel4.setText("Address");
getContentPane().add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(60,
300, -1, -1));

jtxtaddress.setBackground(new java.awt.Color(255, 204, 255));


jtxtaddress.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
getContentPane().add(jtxtaddress, new
org.netbeans.lib.awtextra.AbsoluteConstraints(291, 300, 270, -1));

jLabel5.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N


jLabel5.setText("Search Customer by Id");
getContentPane().add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(60,
440, -1, -1));

jtxtsearch.setBackground(new java.awt.Color(255, 204, 255));


jtxtsearch.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
jtxtsearch.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jtxtsearchActionPerformed(evt);
}
});
jtxtsearch.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jtxtsearchKeyReleased(evt);
}
});
getContentPane().add(jtxtsearch, new
org.netbeans.lib.awtextra.AbsoluteConstraints(390, 430, 170, -1));

jbtnAddData.setBackground(new java.awt.Color(51, 204, 255));


jbtnAddData.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
jbtnAddData.setText("Add Data");
jbtnAddData.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnAddDataActionPerformed(evt);
}
});
getContentPane().add(jbtnAddData, new
org.netbeans.lib.awtextra.AbsoluteConstraints(30, 560, -1, -1));

jbtnPrint.setBackground(new java.awt.Color(204, 0, 0));


jbtnPrint.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
jbtnPrint.setForeground(new java.awt.Color(240, 240, 240));
jbtnPrint.setText("Print ");
jbtnPrint.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnPrintActionPerformed(evt);
}
});
getContentPane().add(jbtnPrint, new
org.netbeans.lib.awtextra.AbsoluteConstraints(1030, 10, -1, -1));

jLabel7.setFont(new java.awt.Font("Times New Roman", 1, 48)); // NOI18N


jLabel7.setForeground(new java.awt.Color(102, 0, 51));
jLabel7.setText("Customer Details");
getContentPane().add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(460,
10, -1, -1));

jbtnClearData.setBackground(new java.awt.Color(102, 204, 0));


jbtnClearData.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
jbtnClearData.setText("Clear Data");
jbtnClearData.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnClearDataActionPerformed(evt);
}
});
getContentPane().add(jbtnClearData, new
org.netbeans.lib.awtextra.AbsoluteConstraints(400, 500, -1, -1));

jbtnUpdate.setBackground(new java.awt.Color(51, 204, 255));


jbtnUpdate.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
jbtnUpdate.setText("Update Data");
jbtnUpdate.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnUpdateActionPerformed(evt);
}
});
getContentPane().add(jbtnUpdate, new
org.netbeans.lib.awtextra.AbsoluteConstraints(200, 560, -1, -1));

jbtnExit.setBackground(new java.awt.Color(204, 0, 0));


jbtnExit.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
jbtnExit.setForeground(new java.awt.Color(240, 240, 240));
jbtnExit.setText("Exit");
jbtnExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnExitActionPerformed(evt);
}
});
getContentPane().add(jbtnExit, new
org.netbeans.lib.awtextra.AbsoluteConstraints(1140, 10, -1, -1));

jtxtpincode.setBackground(new java.awt.Color(255, 204, 255));


jtxtpincode.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
getContentPane().add(jtxtpincode, new
org.netbeans.lib.awtextra.AbsoluteConstraints(291, 370, 270, -1));

jLabel6.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N


jLabel6.setText("Pin Code");
getContentPane().add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(60,
370, -1, -1));

jPanel1.setBackground(new java.awt.Color(204, 255, 255));


jPanel1.setMaximumSize(new java.awt.Dimension(1400, 700));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(-10,
0, 1300, 700));
pack();
setLocationRelativeTo(null);
}// </editor-fold>

public static Connection ConnectDb(){


try
{
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\SABAHAT
KHAN\\OneDrive\\Documents\\NetBeansProjects\\CakeStore\\Customer.db");
return conn;

}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
return null;
}

private JFrame frame;


@SuppressWarnings("empty-statement")

private void jbtnShowActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
try
{
Statement st = conn.createStatement();
String sql = "SELECT * from Customer";
ResultSet rs = st.executeQuery(sql);

while(rs.next()){
String id = rs.getString("Cid");
String Name = rs.getString("Name");
String Contact = rs.getString("Contact");
String Address = rs.getString("Address");
String Pincode = rs.getString("Pincode");

String tbData[] = {id,Name,Contact,Address,Pincode};


DefaultTableModel tblModel = (DefaultTableModel)jTable.getModel();

tblModel.addRow(tbData);
}

}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}

private void jtxtidActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
}

private void jbtnPrintActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
MessageFormat header = new MessageFormat("Customer Details");
MessageFormat footer = new MessageFormat("Page {0, number, integer}");
try
{
jTable.print(JTable.PrintMode.NORMAL,header,footer);
}
catch(java.awt.print.PrinterException e)
{
System.err.format("No Printer found", e.getMessage());
}
}

private void jbtnAddDataActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
//String sql = "INSERT INTO Customer(Cid,Name,Contact,Address,Pincode) VALUES
(?,?,?,?,?)";

try
{
String sql = "INSERT INTO Customer(Cid,Name,Contact,Address,Pincode)
VALUES (?,?,?,?,?)";

pst = conn.prepareStatement(sql);
pst.setString(1,jtxtid.getText());
pst.setString(2,jtxtname.getText());
pst.setString(3,jtxtcontact.getText());
pst.setString(4,jtxtaddress.getText());
pst.setString(5,jtxtpincode.getText());

pst.execute();
JOptionPane.showMessageDialog(null, "System Update Completed");
rs.close();
pst.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
//Update_table();
}

private void jbtnClearDataActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
jtxtid.setText(null);
jtxtname.setText(null);
jtxtcontact.setText(null);
jtxtaddress.setText(null);
jtxtpincode.setText(null);
jtxtsearch.setText(null);

private void jbtnUpdateActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
try
{
String value1= jtxtid.getText();
String value2= jtxtname.getText();
String value3= jtxtcontact.getText();
String value4= jtxtaddress.getText();
String value5= jtxtpincode.getText();

String sql="UPDATE Customer set Name = '"+value2+"', Contact = '"+value3+"',


Address = '"+value4+"', Pincode = '"+value5+"' where Cid = '"+value1+"' ";
pst=conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "Customer Data Updated");
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}

private void jbtnExitActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
frame = new JFrame("Exit");
if (JOptionPane.showConfirmDialog(frame, "Confirm if you want to exit", "Customer
Details Panel",
JOptionPane.YES_NO_OPTION) == JOptionPane.YES_NO_OPTION){
System.exit(0);
};

private void jtxtsearchActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
}

private void jtxtsearchKeyReleased(java.awt.event.KeyEvent evt) {


// TODO add your handling code here:
try
{
String sql = "SELECT * FROM Customer where Cid = ?";
pst = conn.prepareStatement(sql);
pst.setString(1,jtxtsearch.getText());

rs=pst.executeQuery();
if(rs.next()){
String add1=rs.getString("Cid");
jtxtid.setText(add1);
String add2=rs.getString("Name");
jtxtname.setText(add2);
String add3=rs.getString("Contact");
jtxtcontact.setText(add3);
String add4=rs.getString("Address");
jtxtaddress.setText(add4);
String add5=rs.getString("Pincode");
jtxtpincode.setText(add5);

}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and
feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Customer.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Customer.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Customer.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Customer.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Customer().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable;
private javax.swing.JButton jbtnAddData;
private javax.swing.JButton jbtnClearData;
private javax.swing.JButton jbtnExit;
private javax.swing.JButton jbtnPrint;
private javax.swing.JButton jbtnShow;
private javax.swing.JButton jbtnUpdate;
private javax.swing.JTextField jtxtaddress;
private javax.swing.JTextField jtxtcontact;
private javax.swing.JTextField jtxtid;
private javax.swing.JTextField jtxtname;
private javax.swing.JTextField jtxtpincode;
private javax.swing.JTextField jtxtsearch;
// End of variables declaration
}

Thank You!

You might also like