Sampe Project Report

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 75

Kovaipudur, Cpimbatore - 641042

A Project Report
on

Public Library Management System

For
CBSE 2018 Examination
[As a part of the Informatics Practices Course
(065)]

SUBMITTED BY
…………..
[Roll No…….]

Under the Guidance of:


…………….
PGT (CS/IP)
CERTIFICATE

This is to certify that the Project / Dissertation entitled

Public Library Management System is a bonafide

work done by Master ………. of class XII Session

2017-18 in partial fulfillment of CBSE’s Examination

2018 and has been carried out under my direct

supervision and guidance. This report or a similar

report on the topic has not been submitted for any

other examination and does not form a part of any

other course undergone by the candidate.

………………………… ……………………………..
Signature of Student Signature of Teacher/Guide

Name: ………. Name: ………………..


Roll No.: …………………… Designation: PGT (CS/IP)

……….…………………
Signature of Principal
Name: ………………….
Place:…………….
Date:……………..
ACKNOWLEDGEMENT

I
undertook this Project work, as the part of my XII-Informatics
Practices course. I had tried to apply my best of knowledge and
experience, gained during the study and class work experience.
However, developing software system is generally a quite complex
and time-consuming process. It requires a systematic study, insight
vision and professional approach during the design and development.
Moreover, the developer always feels the need, the help and good
wishes of the people near you, who have considerable experience and
idea.

I would like to extend my sincere thanks and gratitude to my teacher


……………. I am very much thankful to our Principal
Mr……………….. for giving valuable time and moral support to
develop this software.

I would like to take the opportunity to extend my sincere thanks and


gratitude to my father Sri …….., and my mother Mrs. …………. for
being a source of inspiration and providing time and freedom to
develop this software project.

I also feel indebted to my friends Mr. ……….. and Mr……….. for the
valuable suggestions during the project work.

…………….
Class XII
C O N T E N T S

1. Introduction-----------------------------------------------------------------1

2. Objective & Scope of the Project------------------------------------2

3. Theoretical Background------------------------------------------------4

4. Problem Definition & Analysis--------------------------------------16

5. System Implementation-----------------------------------------------22

6.1 The Hardware used:-------------------------------------------------22

6.2 The Softwares used:-------------------------------------------------22

6. System Design & Development------------------------------------23

7.2 Database Design:-----------------------------------------------------24

7.3 Menu Design:----------------------------------------------------------34

7.4 I/O Forms Design & Event Coding:-------------------------------36

7. User Manual-------------------------------------------------------------150

8.1 How to install: -------------------------------------------------------151

8.2 Working with Software:--------------------------------------------152

8. References --------------------------------------------------------------173
1. Introduction
This software project is developed to automate the functionalities of a

Public Library.The purpose of the software project is to develop the

Management Information System (MIS) to automate the record keeping of

Publishers, Books, Members and Book issue and receive transactions with

a view to enhance the decision making of the functionaries.

A MIS mainly consists of a computerized database, a collection of inter-

related tables for a particular subject or purpose, capable to produce

different reports relevant to the user. An application program is tied with

the database for easy access and interface to the database. Using

Application program or front-end, we can store, retrieve and manage all

information in proper way.

This software, being simple in design and working, does not require much

of training to users, and can be used as a powerful tool for automating a

Public Library System.

During coding and design of the software Project, Java NetBeans IDE, a

powerful front-end tool is used for getting Graphical User Interface (GUI)

based integrated platform and coding simplicity. As a back-end a

powerful, open source RDBMS, My SQL is used as per requirement of the

CBSE curriculum of Informatics Practices Course.


2. Objective & Scope of the Project

T he objective of the software project is to develop a computerized MIS to automate the


functions of a Public Library This software project is also aimed to enhance the current
record keeping system, which will help managers to retrieve the up-to-date information at
right time in right shape.
The proposed software system is expected to do the following functionality-
 To provide a user friendly, Graphical User Interface (GUI) based integrated and
centralized environment for MIS activities.
 The proposed system should maintain all the records and transactions, and should
generate the required reports and information when required.
 To provide graphical and user-friendly interface to interact with a centralized database
based on client-server architecture.
 To identify the critical operation procedure and possibilities of simplification using
modern IT tools and practices.

In its current scope, the software enables user to retrieve and update the information from
centralized database designed with MySQL . This software does not require much training time
of the users due to limited functionality and simplicity.

During the development of Public Library Information System project, Java NetBeans IDE, a
powerful, open source event-driven form-based development environment is used for modular
design and future expandability of the system.

Despite of the best effort of the developer, the following limitations and functional boundaries
are visible, which limits the scope of this application software.

1. This software can store records and produce reports in pre-designed format in soft copy.
There is no facility yet to produce customized reports. Only specified reports are
covered.

2. There is no provision to calculate fine or penalty etc. for defaulter members; however it
can be developed easily with the help of adding modules.

3. Some application area like accounting of books and fines etc. are not implemented in the
project. It facilitates librarian to record and update only transaction record.

So far as future scope of the project is concerned, firstly it is open to any modular expansion i.e.
other modules or functions can be designed and embedded to handle the user need in future. Any
part of the software and reports can be modified independently without much effort.
3. Theoretical Background

3.1 What is Database?


Introduction and Concepts:
A database is a collection of information related to a particular subject or purpose, such as
tracking customer orders or maintaining a music collection. Using any RDBMS application
software like MS SQL Server, MySQL, Oracle, Sybase etc, you can manage all your information
from a single database file. Within the file, divide your data into separate storage containers
called tables. You may and retrieve the data using queries.
A table is a collection of data about a specific topic, such as products or suppliers. Using a
separate table for each topic means you can store that data only once, which makes your
database more efficient and reduces data-entry errors. Table organises data into columns (called
fields) and rows (called records).
A Primary key is one or more fields whose value or values uniquely identify each record in a
table. In a relationship, a primary key is used to refer to specific record in one table from another
table. A primary key is called foreign key when it is referred to from another table.

To find and retrieve just the data that meets conditions you specify, including data from multiple
tables, create a query. A query can also update or delete multiple records at the same time, and
perform built-in or custom calculations on your data.

Role of RDBMS Application Program:


A computer database works as a electronic filing system, which has a large number of ways of
cross-referencing, and this allows the user many different ways in which to re-organize and
retrieve data. A database can handle business inventory, accounting and filing and use the
information in its files to prepare summaries, estimates and other reports. The management of
data in a database system is done by means of a general-purpose software package called a
Database Management System (DBMS). Some commercially available DBMS are MS SQL
Server, MS ACCESS, INGRES, ORACLE, and Sybase. A database management system,
therefore, is a combination of hardware and software that can be used to set up and monitor a
database, and can manage the updating and retrieval of database that has been stored in it. Most
of the database management systems have the following capabilities:
 Creating of a table, addition, deletion, modification of records.
 Retrieving data collectively or selectively.
 The data stored can be sorted or indexed at the user's discretion and direction.
 Various reports can be produced from the system. These may be either standardized
report or that may be specifically generated according to specific user definition.
 Mathematical functions can be performed and the data stored in the database can be
manipulated with these functions to perform the desired calculations.
 To maintain data integrity and database use.

The DBMS interprets and processes users' requests to retrieve information from a database. In
most cases, a query request will have to penetrate several layers of software in the DBMS and
operating system before the physical database can be accessed. The DBMS responds to a query
by invoking the appropriate subprograms, each of which performs its special function to
interpret the query, or to locate the desired data in the database and present it in the desired
order.

3.2 What is My SQL ?


The management of data in a database system is done by means of a general-purpose software
package called a Database Management System (DBMS). Some commercially available
RDBMS are MS SQL Server, MS ACCESS, INGRES, ORACLE, and Sybase.
MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by Oracle Corporation. MySQL is named after co-founder Monty
Widenius's daughter, My. The name of the MySQL Dolphin (our logo) is “Sakila,”.
 MySQL is a database management system.
A database is a structured collection of data. It may be anything from a simple shopping
list to a picture gallery or the vast amounts of information in a corporate network. To
add, access, and process data stored in a computer database, you need a database
management system such as MySQL Server. Since computers are very good at handling
large amounts of data, database management systems play a central role in computing, as
standalone utilities, or as parts of other applications.
 MySQL is based on SQL.
A relational database stores data in separate tables rather than putting all the data in one
big storeroom. This adds speed and flexibility. The SQL part of “MySQL” stands for
“Structured Query Language.” SQL is the most common standardized language used to
access databases and is defined by the ANSI/ISO SQL Standard. The SQL standard has
been evolving since 1986 and several versions exist. In this manual, “SQL-92” refers to
the standard released in 1992, “SQL:1999” refers to the standard released in 1999, and
“SQL:2003” refers to the current version of the standard.
 MySQL software is Open Source.
Open Source means that it is possible for anyone to use and modify the software.
Anybody can download the MySQL software from the Internet and use it without paying
anything. If you wish, you may study the source code and change it to suit your needs.
The MySQL software uses the GPL (GNU General Public License),
 The MySQL Database Server is very fast, reliable, and easy to use.
If that is what you are looking for, you should give it a try. MySQL Server also has a
practical set of features developed in close cooperation with our users. You can find a
performance comparison of MySQL Server with other database managers on our
benchmark page. MySQL Server was originally developed to handle large databases
much faster than existing solutions and has been successfully used in highly demanding
production environments for several years. Although under constant development,
MySQL Server today offers a rich and useful set of functions. Its connectivity, speed, and
security make MySQL Server highly suited for accessing databases on the Internet.
 MySQL Server works in client/server or embedded systems.
The MySQL Database Software is a client/server system that consists of a multi-threaded
SQL server that supports different backends, several different client programs and
libraries, administrative tools, and a wide range of application programming interfaces
(APIs).

The Main Features of MySQL

 Written in C and C++.


 Works on many different platforms.
 Uses multi-layered server design with independent modules.
 Provides transactional and nontransactional storage engines.
 Designed to make it relatively easy to add other storage engines. This is useful if you
want to provide an SQL interface for an in-house database.
 Uses a very fast thread-based memory allocation system.
 Executes very fast joins using an optimized nested-loop join.
 Implements SQL functions using a highly optimized class library that should be as fast as
possible. Usually there is no memory allocation at all after query initialization.
 Provides the server as a separate program for use in a client/server networked
environment, and as a library that can be embedded (linked) into standalone applications.
Such applications can be used in isolation or in environments where no network is
available.
 Password security by encryption of all password traffic when you connect to a server.
 Support for large databases. We use MySQL Server with databases that contain 50
million records. We also know of users who use MySQL Server with 200,000 tables and
about 5,000,000,000 rows.
 MySQL client programs can be written in many languages. A client library written in C
is available for clients written in C or C++, or for any language that provides C bindings.
 APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available, enabling
MySQL clients to be written in many languages.
 The Connector/ODBC (MyODBC) interface provides MySQL support for client
programs that use ODBC (Open Database Connectivity) connections.
 The Connector/J interface provides MySQL support for Java client programs that use
JDBC connections. Clients can be run on Windows or Unix. Connector/J source is
available.

3.3 What is NetBeans IDE ?

NetBeans started as a student project (originally called Xelfi) in the Czech Republic in 1996.
The goal was to write a Delphi-like Java IDE in Java. Xelfi was the first Java IDE (Integrated
Development Environment) written in Java, with its first pre-releases in 1997. Xelfi was a fun
project to work on, especially since Java IDE space was uncharted territory at that time. The
project attracted enough interest that these students, once they graduated, decided that they could
market it as a commercial product. Soliciting resources from friends and relatives for a web
space, they formed a company around it.

Soon after, they were contacted by Roman Stanek, an entrepreneur who had already been
involved in several startups in the Czech Republic. He was looking for a good idea to invest in,
and discovered Xelfi. He met with the founders; they hit it off, and a business was born.

In the spring of 1999, NetBeans DeveloperX2 was released, supporting Swing. The performance
improvements that came in JDK 1.3, released in the fall of 1999, made NetBeans a viable choice
for development tools. By the summer of 1999, the team was hard at work re-architecting
DeveloperX2 into the more modular NetBeans that forms the basis of the software today.

Something else was afoot in the summer of 1999: Sun Microsystems wanted better Java
development tools, and had become interested in NetBeans. It was a dream come true for the
NetBeans team: NetBeans would become the flagship tool set of the maker of Java itself! By the
Fall, with the next generation of NetBeans Developer in beta, a deal was struck. Sun
Microsystems had also acquired another tools company, During the acqusition, the young
developers who had been involved in open-source projects for most of their programming
careers, mentioned the idea of open-sourcing NetBeans. Fast forward to less than six months
later, the decision was made that NetBeans would be open sourced. While Sun had contributed
considerable amounts of code to open source projects over the years, this was Sun's first
sponsored open source project, one in which Sun would be paying for the site and handling the
infrastructure.

Features of NetBeans
A free, open-source Integrated Development Environment for software developers. You get all
the tools you need to create professional desktop, enterprise, web, and mobile applications with
the Java platform, as well as C/C++, PHP, JavaScript, Groovy, and Ruby.

NetBeans IDE 6.9 introduces the JavaFX Composer, support for JavaFX SDK 1.3, OSGi
interoperability, support for the PHP Zend framework and Ruby on Rails 3.0, and more.
4. Problem Definition & Analysis
The hardest part of building a software system is deciding precisely what to build. No other part
of the conceptual work is so difficult as establishing the detailed technical requirement. Defining
and applying good, complete requirements are hard to work, and success in this endeavor has
eluded many of us. Yet, we continue to make progress.
Problem definition describes the What of a system, not How . The quality of a software product
is only as good as the process that creates it. Problem definition is one of the most crucial steps
in this creation process. Without defining a problem, developers do not know what to build,
customers do not know what to expect, and there is no way to validate that the built system
satisfies the requirement.
Problem definition and Analysis is the activity that encompasses learning about the problem to
be solved, understanding the needs of customer and users, trying to find out who the user really
is, and understanding all the constraints on the solution. It includes all activities related to the
following:
 Identification and documentation of customer’s or user’s needs.
 Creation of a document that describes the external behavior and the association
constraints that will satisfies those needs.
 Analysis and validation of the requirements documents to ensure consistency,
completeness, and feasibility
 Evolution of needs.
After the analysis of the functioning of a Public Library system, the proposed System is
expected to do the following: -
 To provide a user friendly, Graphical User Interface (GUI) based integrated and
centralized environment for computerized Public Library System.
 The proposed system should maintain all the records and transactions, and should
generate the required reports and information when required.
 To provide efficient and secured Information storage, flow and retrieval system, ensuring
the integrity and validity of records.
 To provide graphical and user-friendly interface to interact with a centralized database
based on client-server architecture.
 To identify the critical operation procedure and possibilities of simplification using
modern IT tools and practices.
5. System Implementation

5.1 The Hardware used:

While developing the system, the used hardware are:


PC with Pentium IV processor or sometimes, PC with Celeron (1.7 GHz) processor
having 256 MB RAM, SVGA and other required devices.

5.2 The Softwares used:


 Microsoft Windows® XP as Operating System.

 Java NetBeans 6.9 as Front-end Development environment.

 MySQL as Back-end Sever with Database for Testing.

 MS-Word 2000 for documentation.


6. System Design & Development

6.1 Database Design:


An important aspect of system design is the design of data storage structure. To begin with a
logical model of data structure is developed first. A database is a container object which contains
tables, queries, reports and data validation policies enforcement rules or contraints etc. A logical
data often represented as a records are kept in different tables after reducing anomalies and
redundancies. The goodness of data base design lies in the table structure and its relationship.
This software project maintains a database named Library which contains the following tables.

Table Design:
The database of Library System contains 5 tables. The tables are normalized to minimize the
redundancies of data and enforcing the validation rules of the organization. Most of the tables
are designed to store master records. The tables and their structure are given below.

Table: Publisher
Column Name Type Size
Pub_ID (Primary Key) Integer 4
Pub_Name Varchar 30
Pub_Address Varchar 40
Pub_Phone1 Varchar 12
Pub_Phone2 Varchar 12
Status Char 1

Table: Lib
Column Name Type Size
ACC_No (Primary Key) Integer 4
Acq_No Integer 4
BTitle Varchar 30
Author1 Varchar 30
Author2 Varchar 30
Pub_ID (Foreign Key-Reference Publisher) Integer 4
Price Float(8,2) 8
PDate Date
Pages Integer 4
Edition Integer 4
Status Char 1

Table: Member
Column Name Type Size
Memb_No (Primary Key) Integer 4
Memb_Name Varchar 30
Memb_Add Varchar 40
Memb_Phone Varchar 12
MDate Date
MEDate Date
MFee Float(8,2) 4
Mem_Status Char 1
Mem_Issue Char 1
Table: MIssue
Column Name Type Size
ACC_No Integer 4
Acq_No Integer 4
Memb_No Integer 4
IDate Date 10
RDate Date 10

Table: TIssue
Column Name Type Size
ACC_No Integer 4
Memb_No Integer 4
IDate Date 10
RDate Date 10

6.2 Menu Design:


JSS Infoware gateway comprises the following options, organized in a user friendly way. The
menu system divided in Menu Bars, each having a pull down menus containing options for a
specific task.

Sr. Menu Bar Pull Down Menu Purpose Forms Attached


Insertion of Publisher PubUI.java
Publisher Console records.
Modification of Publisher PubEditUI.java
Modification records.
1. Publisher
Deletion of Publishers PubDelUI.java
Deletion records.
Viewing of publisher PubNavUI.java
Record Navigation records.
Book Console Insertion of Book records. LibUI.java
Modification of Book LibEditUI.java
Modification records.
Deletion Deletion of Book records. LibDelUI.java
2. Book
Issue of books to IssueUI.java
Book Issue members.
Receive of books from ReturnUI.java
Book Return members.
Insertion of Member MembUI.java
Member Console records.
Modification of Members MembEditUI.java
Modification records.
3. Member
Deletion of Member MembDelUI.java
Deletion records.
Viewing of publisher MembNavUI.java
Record Navigation records.
Available Book List Report of Available books. ABList.java
4. Reports Issued Book List Report of Issued books. IBList.java
Members List Report of members. MList.java
5. Quit Application Close the Application. --
6.3 I/O Forms Design & Event Coding:
The software project for Public Library Management contains various forms along with
programming codes. Forms (JFrames) and their event coding are given below.

Frame: MainUI.java

Coding for MainUI.java


/**MainUI.java**/
public class MainUI extends javax.swing.JFrame {
/** Creates new form MainUI */
public MainUI() {
initComponents();
}
private void mnuPubActionPerformed(java.awt.event.ActionEvent evt) {
//this.setVisible(false);
new pubUI().setVisible(true);
new pubUI().getAlignmentX();
}
private void mnuQuitActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void mnuPModActionPerformed(java.awt.event.ActionEvent evt) {
new PubEditUI().setVisible(true);
}
private void mnuPDelActionPerformed(java.awt.event.ActionEvent evt) {
new PubDelUI().setVisible(true);
}
private void mnuPNavActionPerformed(java.awt.event.ActionEvent evt) {
new PubNavUI().setVisible(true);
}
private void mnuLibActionPerformed(java.awt.event.ActionEvent evt) {
new LibUI().setVisible(true);
}
private void mnuMembActionPerformed(java.awt.event.ActionEvent evt) {
new MembUI().setVisible(true);
}
private void mnuMModActionPerformed(java.awt.event.ActionEvent evt) {
new MembEditUI().setVisible(true);
}
private void mnuMDelActionPerformed(java.awt.event.ActionEvent evt) {
new MembDelUI().setVisible(true);
}
private void mnuMNavActionPerformed(java.awt.event.ActionEvent evt) {
new MembNavUI().setVisible(true);
}
private void mnuIssueActionPerformed(java.awt.event.ActionEvent evt) {
new IssueUI().setVisible(true);
}
private void mnuReturnActionPerformed(java.awt.event.ActionEvent evt) {
new ReturnUI().setVisible(true);
}
private void mnuABListActionPerformed(java.awt.event.ActionEvent evt) {
new ABListUI().setVisible(true);
}
private void mnuIBListActionPerformed(java.awt.event.ActionEvent evt) {
new IBListUI().setVisible(true);
}
private void mnuMListActionPerformed(java.awt.event.ActionEvent evt) {
new MListUI().setVisible(true);
}
private void mnuLibEditActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new LibEditUI().setVisible(true);
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new LibDelUI().setVisible(true);
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MainUI().setVisible(true);
}
});
}

Frame: PubUI.java

Coding of pubUI.java
import java.sql.*;
import javax.swing.JOptionPane;
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
new MainUI().setVisible(true);
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtPno.setEditable(false);
// Deactivate the Save button when form loads
cmdSave.setEnabled(false);
}
private void cmdNewActionPerformed(java.awt.event.ActionEvent evt) {
// Activate the Save button when New button clicked
cmdSave.setEnabled(true);
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
Statement stmt = null;
ResultSet rs = null; // ResultSet for publisher table.
String SQL = "SELECT * FROM publisher";
stmt = con.createStatement(); // Connection string for ResultSet - rs.
rs = stmt.executeQuery(SQL);
int pno = 1;
int PID=0;
while (rs.next()) {
PID = rs.getInt("pub_id");
pno++;
}
PID++;
pno = PID;
txtPno.setText(Integer.toString(pno));
txtPName.setFocusable(true);
con.close();
rs.close();
stmt.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
private void cmdSaveActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM publisher";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
int Pno = Integer.parseInt(txtPno.getText());
String PName = txtPName.getText();
String PAdd = txtPAdd.getText();
String Pph1 = txtPh1.getText();
String Pph2 = txtPh2.getText();
char PStatus = 'Y';
int code = JOptionPane.showConfirmDialog(this, "Are you sure to add?", "Confirmation Dialog
Box", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
if (code == JOptionPane.YES_OPTION) {
String strSQL = "INSERT INTO Publisher(pub_id, pub_name, pub_address, pub_phone1,
pub_phone2, status) VALUES ("+(Pno)+", '"+(PName)+"', '"+(PAdd)+"', '"+(Pph1)+"', '"+(Pph2)+"', '"+
(PStatus)+"')";
int rowsEffected = stmt.executeUpdate(strSQL);
JOptionPane.showMessageDialog(this, "Record added successfully into Publisher table");
}
con.close();
stmt.close();
rs.close();
cmdSave.setEnabled(false);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdClearActionPerformed(java.awt.event.ActionEvent evt) {
txtPno.setText("");
txtPName.setText("");
txtPAdd.setText("");
txtPh1.setText("");
txtPh2.setText("");
cmdSave.setEnabled(false);
}
private void cmdEditActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
new PubEditUI().setVisible(true);
}
/** * @param args the command line arguments */
/*public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new pubUI().setVisible(true);
new pubUI().setSize(500, 500);
}
});
}*/
}

Frame: PubEditUI.java
Coding for PubEditUI.java
/* * PubEditUI.java **/
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.DefaultListModel;
public class PubEditUI extends javax.swing.JFrame {
/** Creates new form PubEditUI */
public PubEditUI() {
initComponents();
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtPno.setEditable(false);
// Creating a ListModel object dModel to perform DefaultListModel
// method operations
DefaultListModel dModel = (DefaultListModel) jList1.getModel();
// Method to add elements into jList1 control
dModel.clear();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM Publisher";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
String Pno = rs.getString("pub_id");
String PName = rs.getString("pub_name");
// To make the publisher no. as 4 digit because we will extract 4 digit from list value
// in mouse click event.
if (Pno.length() < 4)
{
int x = Pno.length();
int nl = 4 - x;
while (nl > 0){
Pno = Pno + " ";
nl--;
}
}
dModel.addElement(Pno + "- " + PName);
}
jList1.setModel(dModel);
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
// getSelectedValue() method extracts the current cursor location value into a variable
String MPub = (String) jList1.getSelectedValue();
// Extract the first 4 characters as publisher ID into a variable
String PubN =MPub.trim().substring(0, 3);
String query = "SELECT * FROM Publisher WHERE pub_Id = " + PubN + ";";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
if (rs.next()) {
//PubN = rs.getString("pub_no");
String PubName = rs.getString("pub_name");
String PubAdd = rs.getString("pub_address");
String PubPh1 = rs.getString("pub_phone1");
String PubPh2 = rs.getString("pub_phone2");
String PStatus = rs.getString("status");
// Displaying the contents in respective text boxes.
txtPno.setText(PubN);
txtPName.setText(PubName);
txtPAdd.setText(PubAdd);
txtPh1.setText(PubPh1);
txtPh2.setText(PubPh2);
txtStatus.setText(PStatus);
txtPno.setEditable(false);
// Close the operational object for Student
con.close();
stmt.close();
rs.close();
} else {
JOptionPane.showMessageDialog(null, "Record does not found in Publisher table");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
//new MainUI().setVisible(true);
}
private void cmdUpdateActionPerformed(java.awt.event.ActionEvent evt) {
try {
// Connect to MySQL database
// Don't forget to import the two packages
// import java.sql.*;
// import javax.swing.JOptionPane;
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM Publisher";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
int pno = Integer.parseInt(txtPno.getText().trim());
String PubName = txtPName.getText();
String PubAdd = txtPAdd.getText();
String PubPh1 = txtPh1.getText();
String PubPh2 = txtPh2.getText();
String PStatus = txtStatus.getText();
String strSQL = "Update publisher set pub_name ='"+(PubName)+"',pub_address = '"+(PubAdd)
+"', pub_phone1 = '"+(PubPh1)+"', pub_phone2 = '"+(PubPh2)+"', status = '"+(PStatus)+"' where pub_id
= " + (pno);
int rowsEffected = stmt.executeUpdate(strSQL);
if (rowsEffected == 0)
JOptionPane.showMessageDialog(this, "Record does not exists");
else
JOptionPane.showMessageDialog(this,"Record modified");
con.close();
stmt.close();
rs.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
/** * @param args the command line arguments */
/*public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new PubEditUI().setVisible(true);
}
});
}*/
}
Frame: PubDelUI.java

Coding for PubDelUI.Java


/* PubDelUI.java */
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.DefaultListModel;
public class PubDelUI extends javax.swing.JFrame {
/** Creates new form PubDelUI */
public PubDelUI() {
initComponents();
}
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM Publisher";
private void cmdDeleteActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
int pno = Integer.parseInt(txtPno.getText().trim());
// Steps to confirm deletion
int opt = JOptionPane.showConfirmDialog(null, "Are you sure to delete this record ?");
if (opt == JOptionPane.YES_OPTION)
{
try {
char stb = 'N'; // Member table
String strSQL = "Update publisher set status ='"+(stb)+"' where pub_id = " + (pno);
int rowsEffected = stmt.executeUpdate(strSQL);
if (rowsEffected == 0)
JOptionPane.showMessageDialog(this, "Record does not exists");
else
{
JOptionPane.showMessageDialog(this,"Record Deleted");
// Text boxes cleared
txtPno.setText("");
txtPName.setText("");
txtPAdd.setText("");
txtPh1.setText("");
txtPh2.setText("");
txtStatus.setText("");
txtPno.setEditable(true);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Unable to delete");
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
//new MainUI().setVisible(true);
}
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
// getSelectedValue() method extracts the current cursor location value into a variable
String MPub = (String) jList1.getSelectedValue();
// Extract the first 4 characters as roll number into a variable
String PubN =MPub.trim().substring(0, 3);
String query = "SELECT * FROM Publisher WHERE pub_Id = " + PubN + ";";
try {
// Connect to MySQL database
// Don't forget to import the two packages
// import java.sql.*;
// import javax.swing.JOptionPane;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
stmt = con.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
//PubN = rs.getString("pub_no");
String PubName = rs.getString("pub_name");
String PubAdd = rs.getString("pub_address");
String PubPh1 = rs.getString("pub_phone1");
String PubPh2 = rs.getString("pub_phone2");
String PStatus = rs.getString("status");
// Displaying the contents in respective text boxes.
txtPno.setText(PubN);
txtPName.setText(PubName);
txtPAdd.setText(PubAdd);
txtPh1.setText(PubPh1);
txtPh2.setText(PubPh2);
txtStatus.setText(PStatus);
txtPno.setEditable(false);
} else {
JOptionPane.showMessageDialog(null, "Record does not found in Student table");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtPno.setEditable(false);
// Creating a ListModel object dModel to perform DefaultListModel
// method operations
DefaultListModel dModel = (DefaultListModel) jList1.getModel();
// Method to add elements into jList1 control
dModel.clear();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
String Pno = rs.getString("pub_id");
String PName = rs.getString("pub_name");
// To make the publisher no. as 4 digit because we will extract 4 digit from list value
// in mouse click event.
if (Pno.length() < 4)
{
int x = Pno.length();
int nl = 4 - x;
while (nl > 0){
Pno = Pno + " ";
nl--;
}
}
dModel.addElement(Pno + "- " + PName);
}
jList1.setModel(dModel);
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
/** * @param args the command line arguments */
/*public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new PubDelUI().setVisible(true);
}
});
}*/
}

Frame: PubNavUI.java

Coding of PubNavUI.java
/* PubNavUI.java */
import java.sql.*;
import javax.swing.JOptionPane;
public class PubNavUI extends javax.swing.JFrame {
/** Creates new form PubNavUI */
public PubNavUI() {
initComponents();
}
// Global variables
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM publisher";
public void disable_textfields() {
txtPno.setEditable(false);
txtPName.setEditable(false);
txtPAdd.setEditable(false);
txtPh1.setEditable(false);
txtPh2.setEditable(false);
txtStatus.setEditable(false);
}
private void cmdFirstActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
if (rs.first()) {
String PubN = rs.getString("pub_id");
String PubName = rs.getString("pub_name");
String PubAdd = rs.getString("pub_address");
String PubPh1 = rs.getString("pub_phone1");
String PubPh2 = rs.getString("pub_phone2");
String PStatus = rs.getString("status");
// Displaying the contents in respective text boxes.
txtPno.setText(PubN);
txtPName.setText(PubName);
txtPAdd.setText(PubAdd);
txtPh1.setText(PubPh1);
txtPh2.setText(PubPh2);
txtStatus.setText(PStatus);
cmdFirst.setEnabled(false);
cmdNext.setEnabled(true);
cmdPrev.setEnabled(false);
cmdLast.setEnabled(true);
} else {
cmdFirst.setEnabled(false);
cmdNext.setEnabled(false);
cmdPrev.setEnabled(false);
cmdLast.setEnabled(false);
JOptionPane.showMessageDialog(this, "Rhere is no record in table", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdNextActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
if (rs.next()) {
String PubN = rs.getString("pub_id");
String PubName = rs.getString("pub_name");
String PubAdd = rs.getString("pub_address");
String PubPh1 = rs.getString("pub_phone1");
String PubPh2 = rs.getString("pub_phone2");
String PStatus = rs.getString("status");
// Displaying the contents in respective text boxes.
txtPno.setText(PubN);
txtPName.setText(PubName);
txtPAdd.setText(PubAdd);
txtPh1.setText(PubPh1);
txtPh2.setText(PubPh2);
txtStatus.setText(PStatus);
cmdFirst.setEnabled(true);
cmdNext.setEnabled(true);
cmdPrev.setEnabled(true);
cmdLast.setEnabled(true);
} else {
cmdNext.setEnabled(false);
JOptionPane.showMessageDialog(this, "You are at last record position", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void cmdPrevActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
if (rs.previous()) {
String PubN = rs.getString("pub_id");
String PubName = rs.getString("pub_name");
String PubAdd = rs.getString("pub_address");
String PubPh1 = rs.getString("pub_phone1");
String PubPh2 = rs.getString("pub_phone2");
String PStatus = rs.getString("status");
// Displaying the contents in respective text boxes.
txtPno.setText(PubN);
txtPName.setText(PubName);
txtPAdd.setText(PubAdd);
txtPh1.setText(PubPh1);
txtPh2.setText(PubPh2);
txtStatus.setText(PStatus);
cmdFirst.setEnabled(true);
cmdNext.setEnabled(true);
cmdPrev.setEnabled(true);
cmdLast.setEnabled(true);
} else {
cmdPrev.setEnabled(false);
JOptionPane.showMessageDialog(this, "You are at first position", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdLastActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
if (rs.last()) {
String PubN = rs.getString("pub_id");
String PubName = rs.getString("pub_name");
String PubAdd = rs.getString("pub_address");
String PubPh1 = rs.getString("pub_phone1");
String PubPh2 = rs.getString("pub_phone2");
String PStatus = rs.getString("status");
// Displaying the contents in respective text boxes.
txtPno.setText(PubN);
txtPName.setText(PubName);
txtPAdd.setText(PubAdd);
txtPh1.setText(PubPh1);
txtPh2.setText(PubPh2);
txtStatus.setText(PStatus);
cmdFirst.setEnabled(true);
cmdNext.setEnabled(false);
cmdPrev.setEnabled(true);
cmdLast.setEnabled(false);
} else {
JOptionPane.showMessageDialog(this, "You are already at last record", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
disable_textfields();
try {
// Connect to MySQL database
// Don't forget to import the two packages
// import java.sql.*;
// import javax.swing.JOptionPane;
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.first())
{
String PubN = rs.getString("pub_id");
String PubName = rs.getString("pub_name");
String PubAdd = rs.getString("pub_address");
String PubPh1 = rs.getString("pub_phone1");
String PubPh2 = rs.getString("pub_phone2");
String PStatus = rs.getString("status");
// Displaying the contents in respective text boxes.
txtPno.setText(PubN);
txtPName.setText(PubName);
txtPAdd.setText(PubAdd);
txtPh1.setText(PubPh1);
txtPh2.setText(PubPh2);
txtStatus.setText(PStatus);
cmdFirst.setEnabled(false);
cmdNext.setEnabled(true);
cmdPrev.setEnabled(false);
cmdLast.setEnabled(true);
}
else
{
cmdFirst.setEnabled(false);
cmdNext.setEnabled(false);
cmdPrev.setEnabled(false);
cmdLast.setEnabled(false);
JOptionPane.showMessageDialog(this, "Rhere is no record in table", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new PubNavUI().setVisible(true);
}
});
}
}

Frame: LibUI.java

Coding for LibUI.java


/* * LibUI.java **/
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.DefaultComboBoxModel;
public class LibUI extends javax.swing.JFrame {
/** Creates new form LibUI */
public LibUI() {
initComponents();
}
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM Lib";
// for table Publisher
Statement stmt1 = null;
ResultSet rs1 = null;
String SQL1 = "SELECT * FROM publisher";
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void cmdEditActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
new LibEditUI().setVisible(true);
}
private void cmdSaveActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
int Acno = Integer.parseInt(txtAcno.getText().trim());
String bTitle = txtBTitle.getText();
String Auth1 = txtAuth1.getText();
String Auth2 = txtAuth2.getText();
// Creating a String object pName
String pName = (String) jComboBox1.getSelectedItem();
// Extract the first 4 characters as publisher number into a variable
String PubNo = String.valueOf(pName.substring(0, 3).trim());
int pno = Integer.parseInt(PubNo);
jLabel10.setText(""+pno);
float Price = Float.parseFloat(txtPrice.getText());
int pages = Integer.parseInt(txtPages.getText());
int edition = Integer.parseInt(txtEdition.getText());
String Pdate = txtPDate.getText();
char BStatus = 'Y';
int code = JOptionPane.showConfirmDialog(this, "Are you sure to add?", "Confirmation Dialog
Box", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
if (code == JOptionPane.YES_OPTION) {
String strSQL = "INSERT INTO Lib(acc_no, btitle, author1, author2, pub_id, price, pdate,
pages, edition, status) VALUES ("+(Acno)+", '"+(bTitle)+"', '"+(Auth1)+"', '"+(Auth2)+"', "+(pno)+", "+
(Price)+", '"+(Pdate)+"', "+(pages)+", "+(edition)+", '"+(BStatus)+"')";
int rowsEffected = stmt.executeUpdate(strSQL);
JOptionPane.showMessageDialog(this, "Record added successfully into Lib table");
}
cmdSave.setEnabled(false);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdNewActionPerformed(java.awt.event.ActionEvent evt) {
// Activate the Save button when New button pressed
cmdSave.setEnabled(true);
DefaultComboBoxModel cModel = (DefaultComboBoxModel) jComboBox1.getModel();
cModel.removeAllElements();
txtStatus.setEditable(false);
// Activate the Save button when New button clicked
cmdSave.setEnabled(true);
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement(); // Connection string for ResultSet - rs.
rs = stmt.executeQuery(SQL);
int acno=0, ACNO = 0;
while (rs.next()) {
ACNO = rs.getInt("acc_no");
}
ACNO++;
acno = ACNO;
txtAcno.setText(Integer.toString(acno));
stmt1 = con.createStatement(); // To list publishers in JComboBox1 component
rs1 = stmt1.executeQuery(SQL1);
while (rs1.next()) {
String pubno = rs1.getString("pub_id");
String pubName = rs1.getString("pub_name");
// To make the publisher no. as 4 digit because we will extract 4 digit from list value
// in mouse click event
txtStatus.setText("Y"); // Because it is a new book, when it will be issue,
// it's status will be N.
if (pubno.length() < 4)
{
int x = pubno.length();
int nl = 4 - x;
while (nl > 0){
pubno = pubno + " ";
nl--;
}
}
cModel.addElement(pubno + "- " + pubName);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
private void cmdClearActionPerformed(java.awt.event.ActionEvent evt) {
DefaultComboBoxModel cModel = (DefaultComboBoxModel) jComboBox1.getModel();
txtAcno.setText("");
txtBTitle.setText("");
txtAuth1.setText("");
txtAuth2.setText("");
cModel.removeAllElements();
txtPrice.setText("");
txtPages.setText("");
txtEdition.setText("");
txtPDate.setText("");
txtStatus.setText("");
cmdSave.setEnabled(false);
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtAcno.setEditable(false);
// Deactivate the Save button when form loads
cmdSave.setEnabled(false);
}
private void cmdDeleteActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
new LibDelUI().setVisible(true);
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LibUI().setVisible(true);
}
});
}
}

Frame: LibEditUI.java
Coding for LibEditUI.java
/* * LibEditUI.java **/
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.DefaultListModel;
import javax.swing.DefaultComboBoxModel;
public class LibEditUI extends javax.swing.JFrame {
/** Creates new form LibEditUI */
public LibEditUI() {
initComponents();
}

// for table Publisher


Statement stmt1 = null;
ResultSet rs1 = null;
String SQL1 = "SELECT * FROM publisher";
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM Lib";
private void cmdUpdateActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
int Acno = Integer.parseInt(txtAcno.getText().trim());
String bTitle = txtBTitle.getText();
String Auth1 = txtAuth1.getText();
String Auth2 = txtAuth2.getText();
// Creating a String object pName
String pName = (String) jComboBox1.getSelectedItem();
// Extract the first 4 characters as publisher number into a variable
String NPubNo = String.valueOf(pName.substring(0, 3).trim());
int Npno = Integer.parseInt(NPubNo);
int PID = Integer.parseInt(txtPID.getText());
if (Npno != PID)
PID = Npno;
float Price = Float.parseFloat(txtPrice.getText());
int pages = Integer.parseInt(txtPages.getText());
int edition = Integer.parseInt(txtEdition.getText());
String Pdate = txtPDate.getText();
String BStatus = txtStatus.getText();
String strSQL = "Update Lib set btitle ='"+(bTitle)+"', author1 = '"+(Auth1)+"', author2 = '"+
(Auth2)+"', pub_id = "+(PID)+", price = "+(Price)+", pdate = '"+(Pdate)+"', pages = "+(pages)+ ", edition
= "+(edition)+", status = '"+(BStatus)+"' where acc_no = " + (Acno);
int rowsEffected = stmt.executeUpdate(strSQL);
if (rowsEffected == 0)
JOptionPane.showMessageDialog(this, "Record does not exists");
else
JOptionPane.showMessageDialog(this,"Record modified");
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtAcno.setEditable(false);
txtPID.setEditable(false);
txtStatus.setEditable(false);
// Creating a ListModel object dModel to perform DefaultListModel
// method operations
DefaultListModel dModel = (DefaultListModel) jList1.getModel();
// Method to add elements into jList1 control
dModel.clear();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
String Ano = rs.getString("acc_no");
String BTitle = rs.getString("btitle");
// To make the Accession no. as 4 digit because we will extract 4 digit from list value
// in mouse click event.
if (Ano.length() < 4)
{
int x = Ano.length();
int nl = 4 - x;
while (nl > 0){
Ano = Ano + " ";
nl--;
}
}
dModel.addElement(Ano + "- " + BTitle);
}
jList1.setModel(dModel);
// To list the publisher id and name into JComboBox1.
DefaultComboBoxModel cModel = (DefaultComboBoxModel) jComboBox1.getModel();
cModel.removeAllElements();
stmt1 = con.createStatement(); // To list publishers in JComboBox1 component
rs1 = stmt1.executeQuery(SQL1);
while (rs1.next()) {
String pubno = rs1.getString("pub_id");
String pubName = rs1.getString("pub_name");
// To make the publisher no. as 4 digit because we will extract 4 digit from list value
// in mouse click event
txtStatus.setText("Y"); // Because it is a new book, when it will be issue,
// it's status will be N.
if (pubno.length() < 4)
{
int x = pubno.length();
int nl = 4 - x;
while (nl > 0){
pubno = pubno + " ";
nl--;
}
}
cModel.addElement(pubno + "- " + pubName);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
// getSelectedValue() method extracts the current cursor location value into a variable
String MBook = (String) jList1.getSelectedValue();
// Extract the first 4 characters as Accession number into a variable
String Acno =MBook.trim().substring(0, 3);
String query = "SELECT * FROM Lib WHERE acc_no = " + Acno + ";";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
stmt = con.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
String bTitle = rs.getString("btitle");
String Auth1 = rs.getString("author1");
String Auth2 = rs.getString("author2");
String PID = rs.getString("pub_id");
String Price = rs.getString("price");
String PDate = rs.getString("pdate");
String pages = rs.getString("pages");
String edition = rs.getString("edition");
String PStatus = rs.getString("status");
// Displaying the contents in respective text boxes.
txtAcno.setText(Acno);
txtBTitle.setText(bTitle);
txtAuth1.setText(Auth1);
txtAuth2.setText(Auth2);
txtPID.setText(PID);
txtPrice.setText(Price);
txtPDate.setText(PDate);
txtPages.setText(pages);
txtEdition.setText(edition);
txtStatus.setText(PStatus);
// Close the operational object for Student
con.close();
stmt.close();
rs.close();
} else {
JOptionPane.showMessageDialog(null, "Record does not found in Student table");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}

/** * @param args the command line arguments */


/* public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LibEditUI().setVisible(true);
}
});
}*/
}

Frame: LibDelUI.java

Coding of LibDelUI.Java
/* * LibDelUI.java **/
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.DefaultListModel;
public class LibDelUI extends javax.swing.JFrame {
/** Creates new form LibDelUI */
public LibDelUI() {
initComponents();
}
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM Lib";
private void cmdDeleteActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
int Ano = Integer.parseInt(txtAcno.getText().trim());
// Steps to confirm deletion
int opt = JOptionPane.showConfirmDialog(null, "Are you sure to delete this record ?");
if (opt == JOptionPane.YES_OPTION)
{
try {
if (txtStatus.getText().contains("Y"))
{
String strSQL = "Delete from Lib where acc_no = " + (Ano);
int rowsEffected = stmt.executeUpdate(strSQL);
if (rowsEffected == 0)
JOptionPane.showMessageDialog(this, "Record does not exists");
else
{
JOptionPane.showMessageDialog(this,"Record Deleted");
}
}
else
JOptionPane.showMessageDialog(this,"Record cannot be deleted, because status is 'N'");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Unable to delete");
}
}
con.close();
stmt.close();
rs.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
// getSelectedValue() method extracts the current cursor location value into a variable
String MBook = (String) jList1.getSelectedValue();
// Extract the first 4 characters as Accession number into a variable
String Acno =MBook.trim().substring(0, 3);
String query = "SELECT * FROM Lib WHERE acc_no = " + Acno + ";";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
stmt = con.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
String bTitle = rs.getString("btitle");
String Auth1 = rs.getString("author1");
String Auth2 = rs.getString("author2");
String PID = rs.getString("pub_id");
String Price = rs.getString("price");
String PDate = rs.getString("pdate");
String pages = rs.getString("pages");
String edition = rs.getString("edition");
String PStatus = rs.getString("status");
// Displaying the contents in respective text boxes.
txtAcno.setText(Acno);
txtBTitle.setText(bTitle);
txtAuth1.setText(Auth1);
txtAuth2.setText(Auth2);
txtPID.setText(PID);
txtPrice.setText(Price);
txtPDate.setText(PDate);
txtPages.setText(pages);
txtEdition.setText(edition);
txtStatus.setText(PStatus);
// Close the operational object for Student
con.close();
stmt.close();
rs.close();
} else {
JOptionPane.showMessageDialog(null, "Record does not found in Student table");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtAcno.setEditable(false);
txtPID.setEditable(false);
txtStatus.setEditable(false);
// Creating a ListModel object dModel to perform DefaultListModel
// method operations
DefaultListModel dModel = (DefaultListModel) jList1.getModel();
// Method to add elements into jList1 control
dModel.clear();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
String Ano = rs.getString("acc_no");
String BTitle = rs.getString("btitle");
// To make the Accession no. as 4 digit because we will extract 4 digit from list value
// in mouse click event.
if (Ano.length() < 4)
{
int x = Ano.length();
int nl = 4 - x;
while (nl > 0){
Ano = Ano + " ";
nl--;
}
}
dModel.addElement(Ano + "- " + BTitle);
}
jList1.setModel(dModel);
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LibDelUI().setVisible(true);
}
});
}
}

Frame: IssueUI.java
Coding for IssueUI.java
/* * IssueUI.java **/
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.DefaultListModel;
public class IssueUI extends javax.swing.JFrame {
/** Creates new form IssueUI */
public IssueUI() {
initComponents();
Statement stmt = null;
ResultSet rs = null;
char st1 = 'N';
char ms = 'Y';
String SQL = "SELECT * FROM Member WHERE mem_issue = '" + st1 + "' and mem_status ='" + ms
+ "'";
Statement stmt1 = null;
ResultSet rs1 = null;
char st = 'Y'; // Lib table
String SQL1 = "SELECT * FROM Lib WHERE status = '" + st + "';";

Statement stmt2 = null;


ResultSet rs2 = null;
String SQL2 = "SELECT * FROM Missue";
Statement stmt3 = null;
ResultSet rs3 = null;
String SQL3 = "SELECT * FROM Tissue";
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
// getSelectedValue() method extracts the current cursor location value into a variable
String MembNo = (String) jList1.getSelectedValue();
// Extract the first 4 characters as Member No into a variable
String Mno =MembNo.trim().substring(0, 3);
String query = "SELECT * FROM Member WHERE memb_no = " + (Mno) + ";";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
stmt = con.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
String MName = rs.getString("memb_name");
String MDate = rs.getString("mdate");
String MStatus = rs.getString("mem_status");
// Displaying the contents in respective text boxes.
txtMNo.setText(Mno);
txtMName.setText(MName);
txtMDate.setText(MDate);
txtMStatus.setText(MStatus);
} else {
JOptionPane.showMessageDialog(null, "Record does not found in Member table");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtMNo.setEditable(false);
txtMName.setEditable(false);
txtMDate.setEditable(false);
txtMStatus.setEditable(false);
txtAcno.setEditable(false);
txtBTitle.setEditable(false);
txtAuth1.setEditable(false);
txtPID.setEditable(false);
txtStatus.setEditable(false);
// dModel to perform DefaultListModel for Member
// method operations
DefaultListModel dModel = (DefaultListModel) jList1.getModel();
// Method to add elements into jList1 control for member
dModel.clear();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Listing Members
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
// To make the Member no. as 4 digit because we will extract 4 digit from list value
// in mouse click event.
if (Mno.length() < 4)
{
int x = Mno.length();
int nl = 4 - x;
while (nl > 0){
Mno = Mno + " ";
nl--;
}
}
dModel.addElement(Mno + "- " + MName);
}
jList1.setModel(dModel);
// cModel to perform DefaultListModel for Library
// method operations
DefaultListModel cModel = (DefaultListModel) jList2.getModel();
// Method to add elements into jList1 control for Library
cModel.clear();
// Listing books
stmt1 = con.createStatement();
rs1 = stmt1.executeQuery(SQL1);
while (rs1.next()) {
String Ano = rs1.getString("acc_no");
String BTitle = rs1.getString("btitle");
// To make the Accession no. as 4 digit because we will extract 4 digit from list value
// in mouse click event.
if (Ano.length() < 4)
{
int x = Ano.length();
int nl = 4 - x;
while (nl > 0){
Ano = Ano + " ";
nl--;
}
}
cModel.addElement(Ano + "- " + BTitle);
}
jList2.setModel(cModel);

} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void jList2MouseClicked(java.awt.event.MouseEvent evt) {
// getSelectedValue() method extracts the current cursor location value into a variable
String MBook = (String) jList2.getSelectedValue();
// Extract the first 4 characters as Accession number into a variable
String Acno =MBook.trim().substring(0, 3);
String query = "SELECT * FROM Lib WHERE acc_no = " + Acno + ";";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
stmt1 = con.createStatement();
rs1 = stmt1.executeQuery(query);
if (rs1.next()) {
String bTitle = rs1.getString("btitle");
String Auth1 = rs1.getString("author1");
String PID = rs1.getString("pub_id");
String PStatus = rs1.getString("status");
// Displaying the contents in respective text boxes.
txtAcno.setText(Acno);
txtBTitle.setText(bTitle);
txtAuth1.setText(Auth1);
txtPID.setText(PID);
txtStatus.setText(PStatus);
} else {
JOptionPane.showMessageDialog(null, "Record does not found in Libdent table");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdIssueActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Missue table
stmt2 = con.createStatement();
rs2 = stmt.executeQuery(SQL);

// Tissue table
stmt3 = con.createStatement();
rs3 = stmt.executeQuery(SQL);
int Acno = Integer.parseInt(txtAcno.getText().trim());
int Mno = Integer.parseInt(txtMNo.getText().trim());
String idt = txtIDate.getText();
String rdt = idt; // Temporarily assigned for testing purpose
int code = JOptionPane.showConfirmDialog(this, "Are you sure to add?", "Confirmation Dialog
Box", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
if (code == JOptionPane.YES_OPTION) {
// Record updated into Missue and Tissue tables
String strSQL = "INSERT INTO Missue(acc_no, memb_no, idate, rdate) VALUES ("+(Acno)
+", "+(Mno)+", '"+(idt)+"', '"+(rdt)+"')";
String strSQL1 = "INSERT INTO Tissue(acc_no, memb_no, idate, rdate) VALUES ("+(Acno)
+", "+(Mno)+", '"+(idt)+"', '"+(rdt)+"')";
stmt2.executeUpdate(strSQL);
stmt3.executeUpdate(strSQL1);
// Change the status as library book issued
char sta = 'N'; // Lib table
String strSQLa = "Update Lib set status ='"+(sta)+"' where acc_no = " + (Acno);
stmt1.executeUpdate(strSQLa);
// Change the status as Member has a book
char stb = 'Y'; // Member table
String strSQLb = "Update Member set mem_issue ='"+(stb)+"' where memb_no = " + (Mno);
stmt.executeUpdate(strSQLb);
JOptionPane.showMessageDialog(this, "Record update successfully");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new IssueUI().setVisible(true);
}
});
}
Frame: ReturnUI.java

Coding for ReturnUI.java


/* * ReturnUI.java **/
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.DefaultListModel;
public class ReturnUI extends javax.swing.JFrame {
/** Creates new form ReturnUI */
public ReturnUI() {
initComponents();
}
Statement stmt = null;
ResultSet rs = null;
char st1 = 'Y';
String SQL = "SELECT * FROM Member WHERE mem_issue = '" + st1 + "';";
Statement stmt1 = null;
ResultSet rs1 = null;
char st = 'Y'; // Lib table
String SQL1 = "SELECT * FROM Lib WHERE status = '" + st + "';";
Statement stmt2 = null;
ResultSet rs2 = null;
String SQL2 = "SELECT * FROM Missue";
Statement stmt3 = null;
ResultSet rs3 = null;
String SQL3 = "SELECT * FROM Tissue";
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
// getSelectedValue() method extracts the current cursor location value into a variable
String MembNo = (String) jList1.getSelectedValue();
// Extract the first 4 characters as Member No into a variable
String Mno =MembNo.trim().substring(0, 3);
String query = "SELECT * FROM Member WHERE memb_no = " + (Mno) + ";";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
stmt = con.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
String MName = rs.getString("memb_name");
String MDate = rs.getString("mdate");
String MStatus = rs.getString("mem_status");
// Displaying the contents in respective text boxes.
txtMNo.setText(Mno);
txtMName.setText(MName);
txtMDate.setText(MDate);
txtMStatus.setText(MStatus);
} else {
JOptionPane.showMessageDialog(null, "Record does not found in Member table");
}
// Extrating the Acc_no from Tissue table to find book details in Lib table
String query1 = "SELECT * FROM Tissue WHERE memb_no = " + (Mno) + ";";
// Create SQL statement and execute query.
stmt3 = con.createStatement();
rs3 = stmt3.executeQuery(query1);
int ACno = 0;
if (rs3.next()) {
ACno = rs3.getInt("acc_no");
txtAcno.setText(String.valueOf(ACno));
}
// Extrating the Library details for Acc_no from Lib table
String query2 = "SELECT * FROM Lib WHERE acc_no = " + (ACno) + ";";
// Create SQL statement and execute query.
stmt1 = con.createStatement();
rs1 = stmt1.executeQuery(query2);
String BTitle, Auth;
if (rs1.next()) {
BTitle = rs1.getString("btitle");
Auth = rs1.getString("author1");
txtBTitle.setText(BTitle);
txtAuth.setText(Auth);
jLabel9.setText("Issued");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtMNo.setEditable(false);
txtMName.setEditable(false);
txtMDate.setEditable(false);
txtMStatus.setEditable(false);
txtAcno.setEditable(false);
txtBTitle.setEditable(false);
txtAuth.setEditable(false);
// dModel to perform DefaultListModel for Member
// method operations
DefaultListModel dModel = (DefaultListModel) jList1.getModel();
// Method to add elements into jList1 control for member
dModel.clear();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Listing Members
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
// To make the Member no. as 4 digit because we will extract 4 digit from list value
// in mouse click event.
if (Mno.length() < 4)
{
int x = Mno.length();
int nl = 4 - x;
while (nl > 0){
Mno = Mno + " ";
nl--;
}
}
dModel.addElement(Mno + "- " + MName);
}
jList1.setModel(dModel);
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}

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


try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Missue table
int Mno = 0, Acno = 0;
Mno = Integer.parseInt(txtMNo.getText().trim());
Acno = Integer.parseInt(txtAcno.getText().trim());
// Steps to confirm return
int opt = JOptionPane.showConfirmDialog(null, "Are you sure to return this book ?");
if (opt == JOptionPane.YES_OPTION)
{
String strSQLr = "Delete from Tissue where memb_no = " + (Mno);
stmt3.executeUpdate(strSQLr);
// Change the status as library book issued
char sta = 'Y'; // Lib table
String strSQLa = "Update Lib set status ='"+(sta)+"' where acc_no = " + (Acno);
stmt1.executeUpdate(strSQLa);
// Change the status as Member has a book
char stb = 'N'; // Member table
String strSQLb = "Update Member set mem_issue ='"+(stb)+"' where memb_no = " + (Mno);
stmt.executeUpdate(strSQLb);
JOptionPane.showMessageDialog(this, "Thanks for returning book");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ReturnUI().setVisible(true);
}
});
}
}
Frame: MembUI.java

Coding for MemberUI.Java


/* * MembUI.java **/
import java.sql.*;
import javax.swing.JOptionPane;
public class MembUI extends javax.swing.JFrame {
/** Creates new form MembUI */
public MembUI() {
initComponents();
}
Statement stmt = null;
ResultSet rs = null; // ResultSet for publisher table.
String SQL = "SELECT * FROM Member";
private void cmdClearActionPerformed(java.awt.event.ActionEvent evt) {
txtMNo.setText("");
txtMName.setText("");
txtMAdd.setText("");
txtMPh.setText("");
txtMDate.setText("");
txtMFee.setText("");
txtMStatus.setText("");
cmdSave.setEnabled(false);
}
private void cmdEditActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
new MembEditUI().setVisible(true);
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void cmdSaveActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
int Mno = Integer.parseInt(txtMNo.getText());
String MName = txtMName.getText();
String MAdd = txtMAdd.getText();
String MPh1 = txtMPh.getText();
String MDate = txtMDate.getText();
String MEDate = txtMDate.getText(); // This is temporarily assigned same as membership date
double MFee = Double.parseDouble(txtMFee.getText());
char MStatus = 'Y'; // Member status is Y
char MIssue = 'N'; // Book issue status is N
int code = JOptionPane.showConfirmDialog(this, "Are you sure to add?", "Confirmation Dialog
Box", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
if (code == JOptionPane.YES_OPTION) {
String strSQL = "INSERT INTO Member(memb_no, memb_name, memb_add, memb_phone,
mdate, medate, mfee, mem_status, mem_issue) VALUES ("+(Mno)+", '"+(MName)+"', '"+(MAdd)+"',
'"+(MPh1)+"', '"+(MDate)+"', '"+(MEDate)+"', "+(MFee)+", '"+(MStatus)+"', '"+(MIssue)+"')";
int rowsEffected = stmt.executeUpdate(strSQL);
JOptionPane.showMessageDialog(this, "Record added successfully into Member table");
}
cmdSave.setEnabled(false);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}

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


txtMStatus.setText("Y");
// Activate the Save button when New button clicked
cmdSave.setEnabled(true);
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement(); // Connection string for ResultSet - rs.
rs = stmt.executeQuery(SQL);
int MNO=0, Mno = 0;
while (rs.next()) {
MNO = rs.getInt("memb_no");
}
MNO++;
Mno = MNO;
txtMNo.setText(Integer.toString(Mno));
txtMName.setFocusable(true);
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtMNo.setEditable(false);
txtMStatus.setEditable(false);
// Deactivate the Save button when form loads
cmdSave.setEnabled(false);
}
private void cmdDelActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
new MembDelUI().setVisible(true);
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MembUI().setVisible(true);
}
});
}
}

Frame: MembEditUI.java
Coding for MembEditUI.java
/* * MembEditUI.java **/
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.DefaultListModel;
public class MembEditUI extends javax.swing.JFrame {
/** Creates new form MembEditUI */
public MembEditUI() {
initComponents();
}
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM Member";
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void cmdUpdateActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
int Mno = Integer.parseInt(txtMNo.getText().trim());
String MName = txtMName.getText();
String MAdd = txtMAdd.getText();
String MPh1 = txtMPh.getText();
String MDate = txtMDate.getText();
String MEDate = txtMDate.getText(); // This is temporarily assigned same as membership date
double MFee = Double.parseDouble(txtMFee.getText());
char MStatus = 'Y'; // Member status is Y
String strSQL = "Update Member set memb_name ='"+(MName)+"', memb_add = '"+(MAdd)+"',
memb_phone = '"+(MPh1)+"', mdate = '"+(MDate)+"', mfee = "+(MFee)+" where memb_no = " +
(Mno);
int rowsEffected = stmt.executeUpdate(strSQL);
if (rowsEffected == 0)
JOptionPane.showMessageDialog(this, "Record does not exists");
else
JOptionPane.showMessageDialog(this,"Record modified");
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
// getSelectedValue() method extracts the current cursor location value into a variable
String MembNo = (String) jList1.getSelectedValue();
// Extract the first 4 characters as Member No into a variable
String Mno =MembNo.trim().substring(0, 3);
String query = "SELECT * FROM Member WHERE memb_no = " + (Mno) + ";";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
stmt = con.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
String MName = rs.getString("memb_name");
String MAdd = rs.getString("memb_add");
String MPh1 = rs.getString("memb_phone");
String MDate = rs.getString("mdate");
String MEDate = rs.getString("medate");
String MFee = rs.getString("mfee");
String MStatus = rs.getString("mem_status");
String MIssue = rs.getString("mem_issue");
// Displaying the contents in respective text boxes.
txtMNo.setText(Mno);
txtMName.setText(MName);
txtMAdd.setText(MAdd);
txtMPh.setText(MPh1);
txtMDate.setText(MDate);
txtMFee.setText(MFee);
txtMStatus.setText(MStatus);
txtMStatus.setEditable(false);
} else {
JOptionPane.showMessageDialog(null, "Record does not found in Member table");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtMNo.setEditable(false);
txtMStatus.setEditable(false);
// Creating a ListModel object dModel to perform DefaultListModel
// method operations
DefaultListModel dModel = (DefaultListModel) jList1.getModel();
// Method to add elements into jList1 control
dModel.clear();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
// To make the Member no. as 4 digit because we will extract 4 digit from list value
// in mouse click event.
if (Mno.length() < 4)
{
int x = Mno.length();
int nl = 4 - x;
while (nl > 0){
Mno = Mno + " ";
nl--;
}
}
dModel.addElement(Mno + "- " + MName);
}
jList1.setModel(dModel);
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MembEditUI().setVisible(true);
}
});
}
}

Frame: MembDelUI.java
Coding for MembDelUI.java
/* * MembDelUI.java * */
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.DefaultListModel;
public class MembDelUI extends javax.swing.JFrame {
/** Creates new form MembDelUI */
public MembDelUI() {
initComponents();
}
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM Member";
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
// getSelectedValue() method extracts the current cursor location value into a variable
String MembNo = (String) jList1.getSelectedValue();
// Extract the first 4 characters as Member No into a variable
String Mno =MembNo.trim().substring(0, 3);
String query = "SELECT * FROM Member WHERE memb_no = " + (Mno) + ";";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
stmt = con.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
String MName = rs.getString("memb_name");
String MAdd = rs.getString("memb_add");
String MPh1 = rs.getString("memb_phone");
String MDate = rs.getString("mdate");
String MEDate = rs.getString("medate");
String MFee = rs.getString("mfee");
String MStatus = rs.getString("mem_status");
String MIssue = rs.getString("mem_issue");
// Displaying the contents in respective text boxes.
txtMNo.setText(Mno);
txtMName.setText(MName);
txtMAdd.setText(MAdd);
txtMPh.setText(MPh1);
txtMDate.setText(MDate);
txtMFee.setText(MFee);
txtMStatus.setText(MStatus);
txtMStatus.setEditable(false);
} else {
JOptionPane.showMessageDialog(null, "Record does not found in Member table");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdExit1ActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
//new MainUI().setVisible(true);
}
private void cmdDeleteActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
int Mno = Integer.parseInt(txtMNo.getText().trim());
// Steps to confirm deletion
int opt = JOptionPane.showConfirmDialog(null, "Are you sure to delete this record ?");
if (opt == JOptionPane.YES_OPTION) {
try {
char stb = 'N'; // Member table
String strSQL = "Update Member set mem_status ='"+(stb)+"' where memb_no = " + (Mno);
int rowsEffected = stmt.executeUpdate(strSQL);
if (rowsEffected == 0)
JOptionPane.showMessageDialog(this, "Record does not exists");
else {
JOptionPane.showMessageDialog(this,"Record Deleted");
// Text boxes cleared
txtMNo.setText("");
txtMName.setText("");
txtMAdd.setText("");
txtMPh.setText("");
txtMDate.setText("");
txtMFee.setText("");
txtMStatus.setText("");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Unable to delete");
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
txtMNo.setEditable(false);
txtMName.setEditable(false);
txtMAdd.setEditable(false);
txtMPh.setEditable(false);
txtMDate.setEditable(false);
txtMFee.setEditable(false);
txtMStatus.setEditable(false);
// Creating a ListModel object dModel to perform DefaultListModel
// method operations
DefaultListModel dModel = (DefaultListModel) jList1.getModel();
// Method to add elements into jList1 control
dModel.clear();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
// To make the Member no. as 4 digit because we will extract 4 digit from list value
// in mouse click event.
if (Mno.length() < 4)
{
int x = Mno.length();
int nl = 4 - x;
while (nl > 0){
Mno = Mno + " ";
nl--;
}
}
dModel.addElement(Mno + "- " + MName);
}
jList1.setModel(dModel);
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MembDelUI().setVisible(true);
}
});
}
}

Frame: MembNavUI.java

Coding for MemebNavUI.java


/* * MembNavUI.java * */
import java.sql.*;
import javax.swing.JOptionPane;
public class MembNavUI extends javax.swing.JFrame {
/** Creates new form MembNavUI */
public MembNavUI() {
initComponents();
}
// Global variables
Statement stmt = null;
ResultSet rs = null;
String SQL = "SELECT * FROM Member";
public void disable_textfields() {
txtMNo.setEditable(false);
txtMName.setEditable(false);
txtMAdd.setEditable(false);
txtMPh.setEditable(false);
txtMDate.setEditable(false);
txtMFee.setEditable(false);
txtMStatus.setEditable(false);
txtMIssue.setEditable(false);
}
private void cmdPrevActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
if (rs.previous()) {
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
String MAdd = rs.getString("memb_add");
String MPh1 = rs.getString("memb_phone");
String MDate = rs.getString("mdate");
String MEDate = rs.getString("medate");
String MFee = rs.getString("mfee");
String MStatus = rs.getString("mem_status");
String MIssue = rs.getString("mem_issue");
// Displaying the contents in respective text boxes.
txtMNo.setText(Mno);
txtMName.setText(MName);
txtMAdd.setText(MAdd);
txtMPh.setText(MPh1);
txtMDate.setText(MDate);
txtMFee.setText(MFee);
txtMStatus.setText(MStatus);
txtMIssue.setText(MIssue);
cmdFirst.setEnabled(true);
cmdNext.setEnabled(true);
cmdPrev.setEnabled(true);
cmdLast.setEnabled(true);
} else {
cmdPrev.setEnabled(false);
JOptionPane.showMessageDialog(this, "You are at first position", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdLastActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
if (rs.last()) {
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
String MAdd = rs.getString("memb_add");
String MPh1 = rs.getString("memb_phone");
String MDate = rs.getString("mdate");
String MEDate = rs.getString("medate");
String MFee = rs.getString("mfee");
String MStatus = rs.getString("mem_status");
String MIssue = rs.getString("mem_issue");
// Displaying the contents in respective text boxes.
txtMNo.setText(Mno);
txtMName.setText(MName);
txtMAdd.setText(MAdd);
txtMPh.setText(MPh1);
txtMDate.setText(MDate);
txtMFee.setText(MFee);
txtMStatus.setText(MStatus);
txtMIssue.setText(MIssue);
cmdFirst.setEnabled(true);
cmdNext.setEnabled(false);
cmdPrev.setEnabled(true);
cmdLast.setEnabled(false);
} else {
JOptionPane.showMessageDialog(this, "You are already at last record", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdNextActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
if (rs.next()) {
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
String MAdd = rs.getString("memb_add");
String MPh1 = rs.getString("memb_phone");
String MDate = rs.getString("mdate");
String MEDate = rs.getString("medate");
String MFee = rs.getString("mfee");
String MStatus = rs.getString("mem_status");
String MIssue = rs.getString("mem_issue");
// Displaying the contents in respective text boxes.
txtMNo.setText(Mno);
txtMName.setText(MName);
txtMAdd.setText(MAdd);
txtMPh.setText(MPh1);
txtMDate.setText(MDate);
txtMFee.setText(MFee);
txtMStatus.setText(MStatus);
txtMIssue.setText(MIssue);
cmdFirst.setEnabled(true);
cmdNext.setEnabled(true);
cmdPrev.setEnabled(true);
cmdLast.setEnabled(true);
} else {
cmdNext.setEnabled(false);
JOptionPane.showMessageDialog(this, "You are at last record position", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void cmdFirstActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
if (rs.first()) {
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
String MAdd = rs.getString("memb_add");
String MPh1 = rs.getString("memb_phone");
String MDate = rs.getString("mdate");
String MEDate = rs.getString("medate");
String MFee = rs.getString("mfee");
String MStatus = rs.getString("mem_status");
String MIssue = rs.getString("mem_issue");
// Displaying the contents in respective text boxes.
txtMNo.setText(Mno);
txtMName.setText(MName);
txtMAdd.setText(MAdd);
txtMPh.setText(MPh1);
txtMDate.setText(MDate);
txtMFee.setText(MFee);
txtMStatus.setText(MStatus);
txtMIssue.setText(MIssue);
cmdFirst.setEnabled(false);
cmdNext.setEnabled(true);
cmdPrev.setEnabled(false);
cmdLast.setEnabled(true);
} else {
cmdFirst.setEnabled(false);
cmdNext.setEnabled(false);
cmdPrev.setEnabled(false);
cmdLast.setEnabled(false);
JOptionPane.showMessageDialog(this, "Rhere is no record in table", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
disable_textfields();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.first())
{
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
String MAdd = rs.getString("memb_add");
String MPh1 = rs.getString("memb_phone");
String MDate = rs.getString("mdate");
String MEDate = rs.getString("medate");
String MFee = rs.getString("mfee");
String MStatus = rs.getString("mem_status");
String MIssue = rs.getString("mem_issue");
// Displaying the contents in respective text boxes.
txtMNo.setText(Mno);
txtMName.setText(MName);
txtMAdd.setText(MAdd);
txtMPh.setText(MPh1);
txtMDate.setText(MDate);
txtMFee.setText(MFee);
txtMStatus.setText(MStatus);
txtMIssue.setText(MIssue);
cmdFirst.setEnabled(false);
cmdNext.setEnabled(true);
cmdPrev.setEnabled(false);
cmdLast.setEnabled(true);
}
else
{
cmdFirst.setEnabled(false);
cmdNext.setEnabled(false);
cmdPrev.setEnabled(false);
cmdLast.setEnabled(false);
JOptionPane.showMessageDialog(this, "Rhere is no record in table", "Student",0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MembNavUI().setVisible(true);
}
});
}
}
Frame: ABListUI.java

Coding for ABListUI.java


/* * ABListUI.java **/
import javax.swing.table.*;
import java.sql.*;
import javax.swing.JOptionPane;
public class ABListUI extends javax.swing.JFrame {
/** Creates new form ABListUI */
public ABListUI() {
initComponents();
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
// Before writting the followng line, you should import the line:
// import javax.swing.table.*; at the top of your application
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
// Clear the existing table
int rows = model.getRowCount();
if (rows > 0) {
for (int i = 0; i < rows; i++) {
model.removeRow(0);
}
}
// SQL Query
char st = 'Y'; // Lib table
String query = "SELECT * FROM Lib WHERE status = '" + st + "';";
try {
// Connect to MySQL database
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);

// Iterate through the result and display on screen


while (rs.next()) {
String Acno = rs.getString("acc_no");
String bTitle = rs.getString("btitle");
String Auth1 = rs.getString("author1");
String Price = rs.getString("price");
String edition = rs.getString("edition");
//System.out.println(Acno + "|" + bTitle + "|" + Auth1 + "|" + Price + "|" + edition);
model.addRow(new Object[] {Acno, bTitle, Auth1, Price, edition});
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void cmdIssueActionPerformed(java.awt.event.ActionEvent evt) {
MyDialog.setVisible(true);
}
private void cmdBackActionPerformed(java.awt.event.ActionEvent evt) {
MyDialog.dispose();
}
private void MyDialogWindowGainedFocus(java.awt.event.WindowEvent evt) {
DefaultTableModel Dmodel = (DefaultTableModel) jTable2.getModel();
// Clear the existing table
int rows = Dmodel.getRowCount();
if (rows > 0) {
for (int i = 0; i < rows; i++) {
Dmodel.removeRow(0);
}
}
// SQL Query
char st = 'N'; // Lib table
String query = "SELECT * FROM Lib WHERE status = '" + st + "';";
try {
// Connect to MySQL database
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
// Iterate through the result and display on screen
while (rs.next()) {
String Acno = rs.getString("acc_no");
String bTitle = rs.getString("btitle");
String Auth1 = rs.getString("author1");
String Price = rs.getString("price");
String edition = rs.getString("edition");
//System.out.println(Acno + "|" + bTitle + "|" + Auth1 + "|" + Price + "|" + edition);
Dmodel.addRow(new Object[] {Acno, bTitle, Auth1, Price, edition});
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ABListUI().setVisible(true);
}
});
}
}

Frame: IBListUI.java

Code for IBListUI.java


/* * IBListUI.java**/
import javax.swing.table.*;
import java.sql.*;
import javax.swing.JOptionPane;
public class IBListUI extends javax.swing.JFrame {
/** Creates new form IBListUI */
public IBListUI() {
initComponents();
}

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


this.setVisible(false);
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
// Before writting the followng line, you should import the line:
// import javax.swing.table.*; at the top of your application
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
// Clear the existing table
int rows = model.getRowCount();
if (rows > 0) {
for (int i = 0; i < rows; i++) {
model.removeRow(0);
}
}
// SQL Query
char st = 'N'; // Lib table
String query = "SELECT * FROM Lib WHERE status = '" + st + "';";
try {
// Connect to MySQL database
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
// Iterate through the result and display on screen
while (rs.next()) {
String Acno = rs.getString("acc_no");
String bTitle = rs.getString("btitle");
String Auth1 = rs.getString("author1");
String Price = rs.getString("price");
String edition = rs.getString("edition");
//System.out.println(Acno + "|" + bTitle + "|" + Auth1 + "|" + Price + "|" + edition);
model.addRow(new Object[] {Acno, bTitle, Auth1, Price, edition});
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new IBListUI().setVisible(true);
}
});
}
}

Frame: MListUI.java

Coding for MListUI.java


/* * MListUI.java **/
import javax.swing.table.*;
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.*;
import java.sql.*;
import javax.swing.JOptionPane;
public class MListUI extends javax.swing.JFrame {
/** Creates new form MListUI */
public MListUI() {
initComponents();
}
private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {
// Before writting the followng line, you should import the line:
// import javax.swing.table.*; at the top of your application
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
// Clear the existing table
int rows = model.getRowCount();
if (rows > 0) {
for (int i = 0; i < rows; i++) {
model.removeRow(0);
}
}
// SQL Query
String query = "SELECT * FROM Member";
try {
// Connect to MySQL database
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/Library","root","raj");
// Create SQL statement and execute query.
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
// Iterate through the result and display on screen
while (rs.next()) {
String Mno = rs.getString("memb_no");
String MName = rs.getString("memb_name");
String MAdd = rs.getString("memb_add");
String MPh1 = rs.getString("memb_phone");
String MDate = rs.getString("mdate");
//System.out.println(Mno + "|" + MName + "|" + MAdd + "|" + MPh1 + "|" + MDate);
model.addRow(new Object[] {Mno, MName, MAdd, MPh1, MDate});
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}

/** * @param args the command line arguments */


public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MListUI().setVisible(true);
}
});
}
}
7. User Manual

7.1 How to installSoftware:


Hardware Requirement-
 Intel Pentium/Celeron or similar processor based PC at Client/Server end.
 128 MB RAM and 4GB HDD space (for Database) is desirable.
 Standard I/O devices like Keyboard and Mouse etc.
 Printer is needed for hard-copy reports.
 Local Area Network(LAN) is required for Client-Server Installation

Software Requirement-
 Windows 2000/XP OS is desirable.
 NetBeans Ver 5.1 or higher should be installed with JDK and JVM.
 MySQL Ver 6.1 with Library Database must be present at machine.

Database Installation

The software project is distributed with a backup copy of a Database named Library with
required tables. Some dummy records are present in the tables for testing purposes, which can be
deleted before inserting real data. The project is shipped with LIB.SQL file which installs a
database and tables in the computer system.

Note: The PC must have MySQL server with user (root) and password (raj) . If root password is
any other password, it can be changed by running MySQL Server Instance Configure Wizard.

Start Program  MySQL MySQL Server MySQL Server Instance Config Wizard

Provide current password of root and new password as “raj” , this will change the root password.

To install a MySQL database from a dump file ( Lib.sql) , simply follow the following steps.
Step 1: Copy the Lib.sql file in C:\Program files\Mysql\MySql server 5.1\Bin folder.
Step 2: Open MySQL and type the following command to create the dabase named Library.
mysql> create database Library;
Step 3: Open Command Window (Start Run  cmd)
Step 4: Go to the following folder using CD command of DOS.
C:\Program files\Mysql\MySql server 5.1\Bin>
Step 5: type the following command on above prompt -
C:….\bin> mysql -u root -praj Library < lib.sql
This will create a Library databse with required tables.
7.2 Working with SoftwareProject:

The Library Management Program consists of the following logically organised Menu-structure
for the easy functionality. User may choose the menu options for corresponding works.

Publisher:
This menu item gives options to insert, delete, update and access the Publisher record.
Book:
This menu gives options to Insert, delete, modify and delete the Books record. Also the Books
can be Issued and Received to/from members.
Members:
This menu item gives options to insert, delete, update and access the Member’s record.
Report:
This menu provides option to get reports of Issued books, Available books and Members list.
8. References
In order to work on this project titled -LibSys – Public Library Management System, the
following books and literature are refered by me during the various phases of development of
the project.

(1) The Complete Reference Java 2.0


-by Shildit
(2) MySQL, Black Book
-by Steven Holzner
(2) Understanding SQL
– Gruber
(3) http://www.mysql.org/

(4) http://www.netbeans.org/

(5) On-line Help of NetBeans ®

(6) Informatics Practices for class XII


-by Sumita Arora
(7) Together with Informatics Practices
(6) Various Websites of Discussion Forum and software development activities.

Other than the above-mentioned books, the suggestions and supervision of my teacher and my
class experience also helped me to develop this software project.

You might also like