O. P.
JINDAL SCHOOL
RAIGARH (CG) – 496001
CLASS – XII
SESSION : 2025-2026
SUBJECT : INFORMATION TECHNOLOGY (802)
PROJECT ON
RESTAURANT BILL
GUIDED BY : S. SHREEJIT
PROJECT SUBMITTED BY:
Name: DIKSHA PATEL Board Roll#: _______________
Name: RIYA SHARMA Board Roll#: _______________
CERTIFICATE
THIS IS TO CERTIFY THAT __DIKSHA PATEL__ HAS COMPLETED
THE PROJECT ON THE TOPIC __ RESTAURANT BILL___ IN PARTIAL
FULFILLMENT OF CLASS XII (INFORMATIION TECHNOLOGY -
802) OF CENTRAL BOARD OF SECONDARY EDUCATION FOR
ACADEMIC SESSION 2025-26.
THIS WORK IS CARRIED OUT UNDER MY GUIDANCE AND
SUPERVISION AND HAS UNDERGONE REQUISITE DURATION
AS REQUIRED BY CBSE.
External Examiner Internal Examiner
Sign: ___________ Sign: _______________
Name: ____________ Name: S. SHREEJIT
CERTIFICATE
THIS IS TO CERTIFY THAT__RIYA SHARMA__ HAS COMPLETED THE
PROJECT ON THE TOPIC __ RESTAURANT BILL__ IN PARTIAL
FULFILLMENT OF CLASS XII (INFORMATIION TECHNOLOGY -
802) OF CENTRAL BOARD OF SECONDARY EDUCATION FOR
ACADEMIC SESSION 2025-26.
THIS WORK IS CARRIED OUT UNDER MY GUIDANCE AND
SUPERVISION AND HAS UNDERGONE REQUISITE DURATION
AS REQUIRED BY CBSE.
External Examiner Internal Examiner
Sign: ___________ Sign: _______________
Name: ____________ Name: S. SHREEJIT
ACKNOWLEDGEMENT
I take this opportunity to express my deep sense of gratitude
to our project guide Mr. S. SHREEJIT for his guidance through
the course of this project.
I am thankful to him for his kindness and constant
encouragement and also for his valuable time, which he
devoted to us.
I give my sincere thanks to Mr. R.K. Trivedi sir, our school
Principal who have provided me the Computer Lab to
complete my project work.
At last, thanks to my parents and friends who have directly
or indirectly involved in completion of my project work.
WE HOPE THIS PROJECT IS LIKED AND APPRECIATED BY ALL.....!
SOFTWARE REQUIREMENT
1. Development Tools:
• Programming Language: Java
• Database Management System: MySql 5.5 or higher
• IDE: Netbeans Java 8.0
2. Libraries and Packages:
• java.sql.*
• javax.swing.table.DefaultTableModel
• javax.swing.JOptionPane
3. Operating System
• Supported OS:
Windows 10 or higher
macOS
Linux
HARDWARE REQUIREMENT
1. Minimum Requirements:
• Processor: Dual-core processor (2 Ghz or faster)
• RAM: 4 GB
• Storage: 500 MB of free disk space
• Display: Standard monitor with atleast 1024x768 resolution
• Input Devices: Keyboard and mouse
2. Recommended Requirements:
• Processor: Quad-core processor (2.5 Ghz or faster)
• RAM: 8 GB or more for better multitasking and performance
• Storage: 2 GB of free disk space for scalability and additional data
storage
• Display: Full HD monitor (1920x1080 resolution or higher)
• Graphics Support: Integrated or dedicated GPU (optional, for
enhanced graphics rendering)
• Other Devices: Keyboard, mouse and optional external storage (for
backups)
OUTPUT (FRAMES)
WELCOME
LOGIN
DASHBOARD
DISPLAYRECORD
UPDATERECORD
DELETERECORD
REPORT
CODES
WELCOME
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODOadd your handling code here:
new LOGIN().setVisible(true);
this.dispose();
}
LOGIN
import javax.swing.JOptionPane;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String s=JTF1.getText();
String p=new String(JPF1.getPassword());
if(s.equals("opjs")&&p.equals("raigarh")){
new DASHBOARD().setVisible(true);
this.dispose();
}
else{
JOptionPane.showMessageDialog(null,"Wrong Credentials!!!!!");
}// TODO add your handling code here:
}
DASHBOARD
DISPLAY
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new DISPLAYRECORD().setVisible(true);
this.dispose();
}
EDIT/UPDATE
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new UPDATERECOD().setVisible(true);
this.dispose();
}
DELETE
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new DELETERECORD().setVisible(true);
this.dispose();
}
REPORT
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new REPORT().setVisible(true);
this.dispose();
}
DISPLAYRECORD
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
PREVIOUS
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
if(rs.previous()){
String s1=rs.getString("ITEM_NAME");
String s2=rs.getString("QUANTITIES");
String s3=rs.getString("PRICE");
String s4=rs.getString("TAX_RATE");
String s5=rs.getString("SUBTOTAL");
String s6=rs.getString("TOTAL");
JTF1.setText(s1);
JTF2.setText(s2);
JTF3.setText(s3);
JTF4.setText(s4);
JTF5.setText(s5);
JTF6.setText(s6);
}
else{
rs.previous();
JOptionPane.showMessageDialog(null,"First Record!!!");
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
NEXT
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
if(rs.next()){
String s1=rs.getString("ITEM_NAME");
String s2=rs.getString("QUANTITIES");
String s3=rs.getString("PRICE");
String s4=rs.getString("TAX_RATE");
String s5=rs.getString("SUBTOTAL");
String s6=rs.getString("TOTAL");
JTF1.setText(s1);
JTF2.setText(s2);
JTF3.setText(s3);
JTF4.setText(s4);
JTF5.setText(s5);
JTF6.setText(s6);
}
else{
rs.previous();
JOptionPane.showMessageDialog(null,"Last Record!!!");
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
GO TO DASHBOARD
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new DASHBOARD().setVisible(true);
this.dispose();
}
UPDATERECOD
import java.sql.*;
import javax.swing.JOptionPane;
public class UPDATERECOD extends javax.swing.JFrame {
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
LOAD DATA
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Class.forName("java.sql.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/diksha","root","opjs"
);
Statement stmt=con.createStatement();
String s=JTF1.getText();
String query="select * from restaurantbill where ITEM_NAME='"+s+"';";
rs=stmt.executeQuery(query);
if(rs.next()){
String s2=rs.getString("QUANTITIES");
String s3=rs.getString("PRICE");
String s4=rs.getString("TAX_RATE");
String s5=rs.getString("SUBTOTAL");
String s6=rs.getString("TOTAl");
JTF2.setText(s2);
JTF3.setText(s3);
JTF4.setText(s4);
JTF5.setText(s5);
JTF6.setText(s6);
jButton2.setEnabled(true);
}
else{
rs.previous();
JOptionPane.showMessageDialog(null,"Record not available!!!");
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
SAVE RECORD
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Class.forName("java.sql.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/diksha","root","opjs"
);
stmt=con.createStatement();
String s1=JTF1.getText();
String s2=JTF2.getText();
String s3=JTF3.getText();
String s4=JTF4.getText();
String s5=JTF5.getText();
String s6=JTF6.getText();
String query="Update restaurantbill set
QUANTITIES="+s2+",PRICE="+s3+",TAX_RATE="+s4+",SUBTOTAL="+s5+",TO
TAL="+s6+" where ITEM_NAME='"+s1+"';";
stmt.executeUpdate(query);
JOptionPane.showMessageDialog(null,"Record updated succesfully!!!!");
new DASHBOARD().setVisible(true);
this.dispose();
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
GO TO DASHBOARD
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new DASHBOARD().setVisible(true);
this.dispose();
}
DELETERECORD
import java.sql.*;
import javax.swing.JOptionPane;
public class DELETERECORD extends javax.swing.JFrame {
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
LOAD DATA
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Class.forName("java.sql.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/diksha","root","opjs"
);
Statement stmt=con.createStatement();
String s=JTF1.getText();
String query="select * from restaurantbill where ITEM_NAME='"+s+"';";
rs=stmt.executeQuery(query);
if(rs.next()){
String s2=rs.getString("QUANTITIES");
String s3=rs.getString("PRICE");
String s4=rs.getString("TAX_RATE");
String s5=rs.getString("SUBTOTAL");
String s6=rs.getString("TOTAl");
JTF2.setText(s2);
JTF3.setText(s3);
JTF4.setText(s4);
JTF5.setText(s5);
JTF6.setText(s6);
jButton2.setEnabled(true);
}
else{
rs.previous();
JOptionPane.showMessageDialog(null,"Record not available!!!");
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
DELETE RECORD
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Class.forName("java.sql.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/diksha","root","opjs"
);
stmt=con.createStatement();
String s1=JTF1.getText();
String query="delete from diksha where ITEM_NAME='"+s1+"';";
stmt.executeUpdate(query);
JOptionPane.showMessageDialog(null,"Record deleted succesfully!!!!");
new DASHBOARD().setVisible(true);
this.dispose();
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
GO TO DASHBOARD
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new DASHBOARD().setVisible(true);
this.dispose();
}
REPORT
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class REPORT extends javax.swing.JFrame {
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
EMPTY TABLE
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DefaultTableModel model=(DefaultTableModel)jtable1.getModel();
int rows=model.getRowCount();
if(rows>0){
for(int i=0;i<rows;i++){
model.removeRow(0);
}
}
}
SEARCH IN THE DATATBASE
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jButton1.doClick();
DefaultTableModel model=(DefaultTableModel)jtable1.getModel();
try{
Class.forName("java.sql.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/diksha","root","opjs"
);
Statement stmt=con.createStatement();
String s1=(String)JC1.getSelectedItem();
String s2=(String)JC2.getSelectedItem();
String s3=JTF1.getText();
String query="select*from restaurantbill where "+s1+s2+s3+";";
rs=stmt.executeQuery(query);
while(rs.next()){
model.addRow(new Object[]{
rs.getString("ITEM_NAME"),rs.getString("QUANTITIES"),rs.getString("PRICE"),rs.
getString("TAX_RATE"),rs.getString("SUBTOTAL"),rs.getString("TOTAL")
});
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
GO TO DASHBOARD
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new DASHBOARD().setVisible(true);
this.dispose();
}