You are on page 1of 69

1

PROJECT REPORT ON E-LIBRARY SYSTEM

Submitted by
RITU RAJ (175020)
BCA -6 SEMESTER.
2

E-LIBRARY MANAGEMENT SYSTEM

SUBMITTED BY:
RITU RAJ

6TH SEMESTER

ROLL NO. - 175020


3

ACKNOWLEDGEMENT

The satisfaction that accompanies that the successful completion of any task
would be incomplete without the mention of people whose ceaseless cooperation
made it possible, whose constant guidance and encouragement crown all efforts
with success.
I am grateful to MR. FARIM IQBAL for the guidance, inspiration and
constructive suggestions that helped me in the preparation of the project
“E-LIBRARY MANAGEMENT SYSTEM”.
I am also thankful to my colleagues who have helped me in successful
completion of the project.

SIGNATURE
4

SYNOPSIS

PROJECT TITLE: - E-LIBRARY MANAGEMENT SYSTEM


(RESPONSIVE)

STUDENT NAME: - RITU RAJ


VENUE OF PROJECT: - B.C.A
DURATION: - 4 MONTHS
SOFTWARE: - WEB-BASED SOFTWARE
FRONT-END: -ASP.NET, HTML, BOOTSTRAP, JAVASCRIPT,
CSS
BACK-END: - SQL SERVER MANAGEMENT
5

R CONTENTS PAGE
1. INTRODUCTION 6
2.SYSTEM ANALYSIS 6
a.FEASIBILITY ANALYSIS 10
3.REQUIREMENTS
4. INTRODUCTION TO TECHNOLOGIES USED 13
A.FRONT END 13
B. BACK END 18
C. RELATIONAL DATABASE 19
D. CLIENT SIDE 20
5. DFD, ER, DATA TABLES 21
6. CODING 26
7.WEB APPLICATION OVERVIEW 59
8. TESTING 62
9.CONCLUSIONS 67
10.FUTURE SCOPE 68
11.BIBLIOGRAPHY 69
6

1.INTRODUCTION:

The project titled Library Management System is Library

Management software for monitoring and controlling the transactions in a library.


The project “Library Management System” is developed in ASP.NET, which mainly
focuses on basic operations in a library like adding new books, and updating new
information, searching books and members and return books.

This project of “LIBRARY MANAGEMENT” of gives us the complete information


about the library. We can enter the record of new books and retrieve the details of
books available in the library. We can issue the books to the students and maintain
their records and can also check how many books are issued and stock available in
the library. In this project we can maintain the late fine of students who returns the
issued books after the due date.

Throughout the project the focus has been on presenting information and comments
in an easy and intelligible manner. The project is very useful for those who want to
know about Library Management System.

2.SYSTEM ANALYSIS
EXISTING SYSTEM
System and their relationships within and outside of the system. Here the key question is- what all problems exist in
the present system? What must be done to solve the problem? Analysis begins when a user or manager begins a
study of the System Analysis is a detailed study of the various operations performed by a program using existing
system. During analysis, data collected on the various files, decision points and transactions handled by the present
system. The success of the system depends largely on how clearly the problem is defined, thoroughly investigated
and properly carried out through the choice of solution. A good analysis model should provide not only the
mechanisms of problem understanding but also the frame work of the solution. Thus, it should be studied thoroughly
by collecting data about the system. Then the proposed system should be analyzed thoroughly in accordance with the
needs

PROPOSED SOLUTION
Proposed system is an automated Library Management System. Through our software user can
add books, search books, renewal, update information, edit information, and return books in quick
time. Our proposed system has the following advantages.
. User friendly interface
7

. Fast access to database


. Less error
. More Storage Capacity Because It Is Stored Online
. Search facility
. Look and Feel Environment
. Quick transaction

All the manual difficulties in managing the Library have been rectified by implementing computerization.
3. REQUREMENTS ANALYSIS OF PROJECT

 Requirement  Analysis  :

Requirement Analysis is done in order to understand the problem the software system is to
solve.
There are two major activities in this phase:  problem understanding or analysis and requirement
specification. In problem analysis, the aim is to understand the problem and its context, and the
requirements of the new system that is to be developed. Once the problem is analyzed and the
essentials understood, the requirements must be specified in the requirement specification
document. The requirements document must specify all functional and performance
requirements; the formats of inputs and outputs etc.

 Software  Design :

The purpose of design phase is to plan a solution of the problem Specified by the requirements
document. This phase is the first step in moving from the problem domain to solution domain.
The design activity often results in three separate outputs: architecture design, high level design
and detailed design.

 Coding  :

The main goal of coding phase is to translate the design of the System into code in a given
programming language. The coding phase affects both testing and maintenance profoundly. The
goal of coding should be to reduce the testing and maintenance effort, hence during coding the
focus should be on developing programs that are easy to read and understand.

 Testing  :

The function of testing is to detect the defects in the Software. The main goal testing is to
uncover requirement, design and coding errors in the programs.
The main goal of the requirement phase is to produce the software requirement specification
(SRS), which accurately capture the client’s requirements. SRS is A document that describes
what the software should do. The basic purpose of SRS is to bridge the communication gap
between the clients, the end  users  and the Software developers. Another purpose is helping
user to understand their own needs.
Purpose:
The SRS typically contains the brief description of the project. The purpose of the requirement
document is to specify all the information required to design, develop and test the software.

 The purpose of this project is to provide a friendly environment to maintain the details of
books and library members.
8

 The main purpose of this project is to maintain easy circulation system using computers
and to provide different reports.

Scope:
The document only covers the requirements specifications for the Library Management System.
This document does not provide any references to the other component of the Library
Management System. All the external interfaces and the dependencies are also identified in this
document.
Feasibility study: The overall scope of the feasibility study was to provide sufficient information
to allow a decision to be made as to whether the Library Management System project should
proceed and if so, its relative priority in the context of other existing Library Management
Technology.
The feasibility study phase of this project had undergone through various steps which as
describe as under:

 Identity the origin the information at different level.

 Identity the expectation of user from computerized system.

 Analyze the drawback of existing system(manual system)

Definition, Acronyms, Abbreviation:

 ASP.NET -> WEB APPLICATION DEVELOPMENT


 SQL    -> Structured query Language
 DFD   -> Data Flow Diagram
 CFD    -> Context Flow Diagram
 ER      -> Entity Relationship
 IDE     -> Integrated Development Environment
 SRS    -> Software Requirement Specification

Reference:

 An Integrated Approach Software Engineering Third Edition by Pankaj Jalote.

 C# : MICROSOFT

 MICROSOFT SQL SERVER : MICROSOFT

Overview:
The implementation of Library Management starts with entering and updating master records
like book details, library information. Any further transaction like book issue, book return will
automatically update the current books.
Overall Description :
Product Perspective:
9

The proposed Library Management System will take care of the current book detail at any point
of time. The book issue, book return will update the current book details automatically so that
user will get the update current book details.
Product function:

 The main purpose of this project is to reduce the manual work.


 This software is capable of managing Book Issues, Returns, and Calculating/Managing
Fine. Generating various Reports for Record-Keeping according to end user requirements

User characteristics:
We have 2 levels of users

 User module: In the user module, user will check the availability of the books.
 Book return

 Administration module: The following are the sub module in the administration module.
 Register user
 Entry book details
 Book issue

General Constraints:
Any update regarding the book from the library is to be recorded to have update & correct values.
Assumption and dependencies:
All the data entered will be correct and up to date. This software package is developed using java
as front end which is supported by sun micro system. Microsoft SQL server 2005 as the back
end which is supported by Window 7.
Specific Requirement:
External Interface Requirement:
                The user should be simple and easy to understand and use. Also be an interactive
interface .The system should prompt for the user and administrator to login to the application
and for proper input criteria
User Interface:
The software provides good graphical WEB interface for the user any administrator can operate
on the system using any browser or mobile phone, performing the required task such as create,
update, viewing the details of the book.

 Allows user to view quick reports like Book Issues/Returned etc in between particular
time.
 Stock verification and search facility based on different criteria.

*TECHNOLOGIES AND TOOLS USED


1. WEB TECHNOLOGY: ASP.NET, HTML, CSS, JAVASCRIPT, BOOTSTRAP
2. DATABASE: SQL SERVER MANAGEMENT SYSTEM
10

3. DEVELOPMENT TOOL: MICROSOFT VISUAL STUDIO 2019


4. WEB SERVER: IIS
5. WEB BROWSER: CHROME
6. LANGUAGE USED: C#.NET

 HARDWARE

1. CPU CONFIGURATION
o 2.5GHZ PROCESSOR
o 1GB DDR3 RAM
2. SOFTWARE
a. OPERATING SYSTEM OF YOUR CHOICE
b. WEB BROWSER OF YOUR CHOICE

EVEN YOU CAN ACCESS THIS USING YOUR SMARTPHONE AS THIS WEB
APPLICATION IS RESPONSIVE.

Functional requirements:

 Book entry: In this module we can store the details of the books.
 Register student: in this module we can keep the details of the new student.
 Book issue: This module is used to keep a track of book issue details.
 Book return: This module enables to keep a track of return the books.

Performance requirements:
The capability of the computer depends on the performance of the software. The software can
take any number of inputs provided the database size is larger enough. This would depend on
the available memory space.
Design constraints :
Each member will be having a identity card which can be used for the library book issue, fine
payment etc. whenever library member wish to take a book, the book issued by the library
authority will be check both the book details as well as the student details and store it in library
database. In case of retrieval of book much of human intervention can be eliminated.
 System attributes :

 Maintainability: There will be no maintained requirement for the software. The database is
provided by the end user and therefore is maintained by this user.
11

 Portability: The system is developed for secured purpose, so it is can’t be portable.


 Availability: This system will available only until the system on which it is install, is
running.
 Scalability: Applicable.

2.3 FEASIBILITY STUDY

The basic premise of system analysis is being done here. The primary goal of the system analysis stage is to identify
problems and determine how they can be solved with the computer system. In formal SDLC methodologies, the first step in
system analysis is feasibility study. A feasibility study is the quick examination of the problems, goals, expected cost of the
system. The objective is to determine whether the problem can reasonably solved with a computer system. In some cases,
may be there is a better alternative, or perhaps is simply short term annoyance and will gradually disappear. In other cases,
the problem may turn out to be more complex than was thought and involves users across the company. Also, some
problems may not be solvable with today’s technology. It might be better to wait for better technology. In any case, you
need to determine the scope of the project to gain the better idea of cost, benefits, and objectives.

The feasibility study is typically written so that non- programmers can easily understand it. It is used to “sell” the to the
upper management and as a starting point for the next step. Additionally it is used as a reference to keep the project on track,
and to evaluate the progress of project team. Is the project cost effective or there is a cheaper solution? Will the proposed
system improve the operation of the bank; will complicating factors prevent it from achieving its goals? Does the
technology exist and does the firm have the staff to make the technology work?

When the proposal is determined to be feasible, the team leaders are appointed and a plan and schedule are created. The
schedule contains a detailed listing of what parts of the project are completed at each time. Of course, it extremely difficult
to estimate the true cost and completion dates. Nonetheless, the schedule is an important tool to evaluate the status of the
project and the progress of the team.

THE COST OF THE DEVELOPMENT AND MANTAINCE


JUST THE WEBSITE HOSTING AND DOMAIN SERVICE COST WHICH MOVES
AROUND RS 200 A MONTHS. THAT’S IT.
12

4.INTRODUCTION TO THE TECHNOLOGIES USED IN THE


DEVELOPMENT

1. FRONT END TECHNOLOGY

The .NET Framework is a new computing platform that simplifies application development in the highly
distributed environment of the Internet. The .NET Framework is designed to fulfill the following
objectives:

· To provide a consistent object-oriented programming environment whether object

code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.

· To provide a code-execution environment that minimizes software deployment and

versioning conflicts.

· To provide a code-execution environment that guarantees safe execution of code,

including code created by an unknown or semi-trusted third party.

· To provide a code-execution environment that eliminates the performance problems

of scripted or interpreted environments.

· To make the developer experience consistent across widely varying types of

applications, such as Windows-based applications and Web-based applications.

· To build all communication on industry standards to ensure that code based on the
13

.NET Framework can integrate with any other code.

.NET Framework Class Library

The .NET Framework class library is a collection of reusable types that tightly integrate with the common
language runtime. The class library is object oriented, providing types from which your own managed
code can derive functionality. This not only makes the .NET Framework types easy to use, but also
reduces the time associated with learning new features of the .NET Framework. In addition, third-party
components can integrate seamlessly with classes in the .NET Framework.

For example, the .NET Framework collection classes implement a set of interfaces that you can use to
develop your own collection classes. Your collection classes will blend seamlessly with the classes in
the .NET Framework.

As you would expect from an object-oriented class library, the .NET Framework types enable you to
accomplish a range of common programming tasks, including tasks such as string management, data
collection, database connectivity, and file access. In addition to these common tasks, the class library
includes types that support a variety of specialized development scenarios. For example, you can use
the .NET Framework to develop the following types of applications and services:

 Console applications.

 Scripted or hosted applications.

 Windows GUI applications (Windows Forms).

 ASP.NET applications.


 XML Web services.

 Windows services.

For example, the Windows Forms classes are a comprehensive set of reusable types that vastly simplify
Windows GUI development. If you write an ASP.NET Web Form application, you can use the Web Forms
classes.

Active Server Pages.NET


ASP.NET is a programming framework built on the common language runtime that can be used on a
server to build powerful Web applications. ASP.NET offers several important advantages over previous
Web development models:
14

 Enhanced Performance. ASP.NET is compiled common language runtime code running on the
server. Unlike its interpreted predecessors, ASP.NET can take advantage of early binding, just-in-time
compilation, native optimization, and caching services right out of the box. This amounts to dramatically
better performance before you ever write a line of code.
 World-Class Tool Support. The ASP.NET framework is complemented by a rich toolbox and
designer in the Visual Studio integrated development environment. WYSIWYG editing, drag-and-drop
server controls, and automatic deployment are just a few of the features this powerful tool provides.
 Power and Flexibility. Because ASP.NET is based on the common language runtime, the power and
flexibility of that entire platform is available to Web application developers. The .NET Framework class
library, Messaging, and Data Access solutions are all seamlessly accessible from the Web. ASP.NET is
also language-independent, so you can choose the language that best applies to your application or
partition your application across many languages. Further, common language runtime interoperability
guarantees that your existing investment in COM-based development is preserved when migrating to
ASP.NET.
 Simplicity. ASP.NET makes it easy to perform common tasks, from simple form submission and
client authentication to deployment and site configuration. For example, the ASP.NET page framework
allows you to build user interfaces that cleanly separate application logic from presentation code and to
handle events in a simple, Visual Basic - like forms processing model.
Additionally, the common language runtime simplifies development, with managed code services such as
automatic reference counting and garbage collection.

 Manageability. ASP.NET employs a text-based, hierarchical configuration system, which simplifies


applying settings to your server environment and Web applications. Because configuration information is
stored as plain text, new settings may be applied without the aid of local administration tools. This "zero
local administration" philosophy extends to deploying ASP.NET Framework applications as well. An
ASP.NET Framework application is deployed to a server simply by copying the necessary files to the
server. No server restart is required, even to deploy or replace running compiled code.
 Scalability and Availability. ASP.NET has been designed with scalability in mind, with features
specifically tailored to improve performance in clustered and multiprocessor environments. Further,
processes are closely monitored and managed by the ASP.NET runtime, so that if one misbehaves (leaks,
deadlocks), a new process can be created in its place, which helps keep your application constantly
available to handle requests.
 Customizability and Extensibility. ASP.NET delivers a well-factored architecture that allows
developers to "plug-in" their code at the appropriate level. In fact, it is possible to extend or replace any
subcomponent of the ASP.NET runtime with your own custom-written component. Implementing custom
authentication or state services has never been easier.
 Security. With built in Windows authentication and per-application configuration, you can be
assured that your applications are secure.
15

What is ASP.NET Web Forms?

The ASP.NET Web Forms page framework is a scalable common language runtime programming model
that can be used on the server to dynamically generate Web pages.

Intended as a logical evolution of ASP (ASP.NET provides syntax compatibility with existing pages), the
ASP.NET Web Forms framework has been specifically designed to address a number of key deficiencies
in the previous model. In particular, it provides:

· The ability to create and use reusable UI controls that can encapsulate common

functionality and thus reduce the amount of code that a page developer has to write.

· The ability for developers to cleanly structure their page logic in an orderly fashion

(not "spaghetti code").

· The ability for development tools to provide strong WYSIWYG design support for

pages (existing ASP code is opaque to tools).

ASP.NET Web Forms pages are text files with an .aspx file name extension. They can be deployed
throughout an IIS virtual root directory tree. When a browser client requests .aspx resources, the ASP.NET
runtime parses and compiles the target file into a .NET Framework class. This class can then be used to
dynamically process incoming requests. (Note that the .aspx file is compiled only the first time it is
accessed; the compiled type instance is then reused across multiple requests).

An ASP.NET page can be created simply by taking an existing HTML file and changing its file name
extension to .aspx (no modification of code is required). For example, the following sample demonstrates a
simple HTML page that collects a user's name and category preference and then performs a form post back
to the originating page when a button is clicked:

ASP.NET provides syntax compatibility with existing ASP pages. This includes support for <% %> code
render blocks that can be intermixed with HTML content within an .aspx file. These code blocks execute
in a top-down manner at page render time.
16

Code-Behind Web Forms

ASP.NET supports two methods of authoring dynamic pages. The first is the method shown in the
preceding samples, where the page code is physically declared within the originating .aspx file. An
alternative approach--known as the code-behind method--enables the page code to be more cleanly
separated from the HTML content into an entirely separate file.

Introduction to ASP.NET Server Controls

In addition to (or instead of) using <% %> code blocks to program dynamic content, ASP.NET page
developers can use ASP.NET server controls to program Web pages. Server controls are declared within
an .aspx file using custom tags or intrinsic HTML tags that contain a runat="server" attributes value.
Intrinsic HTML tags are handled by one of the controls in the System.Web.UI.HtmlControls namespace.
Any tag that doesn't explicitly map to one of the controls is assigned the type of
System.Web.UI.HtmlControls.HtmlGenericControl.

Server controls automatically maintain any client-entered values between round trips to the server. This
control state is not stored on the server (it is instead stored within an <input type="hidden"> form field
that is round-tripped between requests). Note also that no client-side script is required.

In addition to supporting standard HTML input controls, ASP.NET enables developers to utilize richer
custom controls on their pages. For example, the following sample demonstrates how the <asp:adrotator>
control can be used to dynamically display rotating ads on a page.

1. ASP.NET Web Forms provide an easy and powerful way to build dynamic Web UI.

2. ASP.NET Web Forms pages can target any browser client (there are no script library or cookie
requirements).

3. ASP.NET Web Forms pages provide syntax compatibility with existing ASP pages.

4. ASP.NET server controls provide an easy way to encapsulate common functionality.

5. ASP.NET ships with 45 built-in server controls. Developers can also use controls built by third parties.
17

6. ASP.NET server controls can automatically project both up level and down level HTML.

7. ASP.NET templates provide an easy way to customize the look and feel of list server controls.

8.ASP.NET validation controls provide an easy way to do declarative client or server

data validation.

3.2 BACK END TECHNOLOGY:

About Microsoft SQL Server 2018

Microsoft SQL Server is a Structured Query Language (SQL) based, client/server relational database. Each
of these terms describes a fundamental part of the architecture of SQL Server.

Database

A database is similar to a data file in that it is a storage place for data. Like a data file, a database does not
present information directly to a user; the user runs an application that accesses data from the database and
presents it to the user in an understandable format.

A database typically has two components: the files holding the physical database and the database
management system (DBMS) software that applications use to access data. The DBMS is responsible for
enforcing the database structure, including:

 Maintaining the relationships between data in the database.

 Ensuring that data is stored correctly and that the rules defining data relationships are

not violated.

 Recovering all data to a point of known consistency in case of system failures.

Relational Database
18

There are different ways to organize data in a database but relational databases are one of the most
effective. Relational database systems are an application of mathematical set theory to the problem of
effectively organizing data. In a relational database, data is collected into tables (called relations in
relational theory).

When organizing data into tables, you can usually find many different ways to define tables. Relational
database theory defines a process, normalization, which ensures that the set of tables you define will
organize your data effectively.

Client/Server:-
In a client/server system, the server is a relatively large computer in a central location that manages a
resource used by many people. When individuals need to use the resource, they connect over the network
from their computers, or clients, to the server.

Examples of servers are: In a client/server database architecture, the database files and DBMS software
reside on a server. A communications component is provided so applications can run on separate clients
and communicate to the database server over a network. The SQL Server communication component also
allows communication between an application running on the server and SQL Server.

Server applications are usually capable of working with several clients at the same time. SQL Server can
work with thousands of client applications simultaneously. The server has features to prevent the logical
problems that occur if a user tries to read or modify data currently being used by others.

While SQL Server is designed to work as a server in a client/server network, it is also capable of working
as a stand-alone database directly on the client. The scalability and ease-of-use features of SQL Server
allow it to work efficiently on a client without consuming too many resources.

Structured Query Language (SQL)


To work with data in a database, you must use a set of commands and statements (language) defined by the
DBMS software. There are several different languages that can be used with relational databases; the most
common is SQL. Both the American National Standards Institute (ANSI) and the International Standards
Organization (ISO) have defined standards for SQL. Most modern DBMS products support the Entry
Level of SQL-92, the latest SQL standard (published in 1992).

SQL Server Features


Microsoft SQL Server supports a set of features that result in the following benefits:
Ease of installation, deployment, and use
SQL Server includes a set of administrative and development tools that improve your ability to install,
deploy, manage, and use SQL Server across several sites.

Scalability
19

The same database engine can be used across platforms ranging from laptop computers running Microsoft
Windows® 95/98 to large, multiprocessor servers running Microsoft Windows NT®, Enterprise Edition.

Data warehousing
SQL Server includes tools for extracting and analyzing summary data for online analytical processing
(OLAP). SQL Server also includes tools for visually designing databases and analyzing data using
English-based questions.

System integration with other server software


SQL Server integrates with e-mail, the Internet, and Windows.
Databases
A database in Microsoft SQL Server consists of a collection of tables that contain data, and other
objects, such as views, indexes, stored procedures, and triggers, defined to support activities performed
with the data. The data stored in a database is usually related to a particular subject or process, such as
inventory information for a manufacturing warehouse.

SQL Server can support many databases, and each database can store either interrelated data or data
unrelated to that in the other databases. For example, a server can have one database that stores personnel
data and another that stores product-related data. Alternatively, one database can store current customer
order data, and another; related database can store historical customer orders that are used for yearly
reporting. Before you create a database, it is

Important to understand the parts of a database and how to design these parts to ensure that the database
performs well after it is implemented.

Normalization theory:
Relations are to be normalized to avoid anomalies. In insert, update and delete operations. Normalization
theory is built around the concept of normal forms. A relation is said to be in a

particular form if it satisfies a certain specified set if constraints. To decide a suitable logical structure for
given database design the concept of normalization, which are briefly described below.

1. 1st Normal Form (1 N.F): A relation is said to be in 1 NF is and only if all unaligned domains contain
values only. That is the fields of an n-set should have no group items and no repeating groups.

2. 2nd Normal Form (2 N.F) : A relation is said to be in 2 NF is and only if it is in 1 NF and every non
key attribute is fully dependent on primary key. This normal takes care of functional dependencies on non-
key attributes.

3. 3 rd Normal Form (3 N.F) : A relation is said to be in 3 NF is and only if it is in 2 NF and every non
key attribute is non transitively dependent on the primary key. This normal form avoids the transitive
dependencies on the primary key.
20

4. Boyce code Normal Form (BCNF) : This is a stronger definition than that of NF. A relation is said to
be in BCNF if and only if every determinant is a Candidate key.

5. 4th Normal Form (4 NF) : A relation is said to be in 4 NF if and only if whenever there exists a multi
valued dependency in a relation say A->->B then all of the relation are also functionally dependent on
A(i.e. A->X for all attributes x of the relation.).

6. 5th Normal Form (5 NF) OR Projection Join Normal Form (PJNF): A relation R is in 5 NF
.if and only if every join dependency in R is implied by the candidate key on R . A relation can’t be
non-loss split into two tables but can be split into three tables. This is called Join Dependency.

SQL CONNECTION
A SqlConnection object represents a unique session to a SQL Server data source. With a client/server
database system, it is equivalent to a network connection to the server. SqlConnection is used
together with SqlDataAdapter and SqlCommand to increase performance when connecting to a
Microsoft SQL Server database.

SQL COMMAND
Represents a Transact-SQL statement or stored procedure to execute against a SQL Server database. 

SQL DATAREADER

Provides a way of reading a forward-only stream of rows from a SQL Server database.

SQL DATA ADAPTER

The SqlDataAdapter, serves as a bridge between a DataSet and SQL Server for retrieving and saving data. 

Client-side Script(JAVASCRIPT):-
JavaScript:
JavaScript is a new scripting language for WebPages. Scripts written with java script can be
embedded into your HTML pages. With java script you have many possibilities for enhancing your
HTML page with interesting elements. For example you are able to respond to user-initiated events quite
easily. Some effects that are now possible with java script were some time ago only possible with CGI.
So you can create really sophisticated pages with the helps of java script on the Internet.

BOOTSTRAP

Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end


web development. It contains CSS- and (optionally) JavaScript-based design templates
for typography, forms, buttons, navigation, and other interface components.
21

C#
C# (pronounced see sharp, like the musical note C♯, but written with the number sign)[b] is a general-
purpose, multi-paradigm programming language encompassing strong typing, lexically
scoped, imperative, declarative, functional, generic, object-oriented (class-based), and component-
oriented programming disciplines.[17] It was developed around 2000 by Microsoft as part of its .NET7 initiative and
later approved as an international standard by Ecma (ECMA-334) in 2002 and ISO (ISO/IEC 23270) in
2003. Mono is the name of the free and open-source project to develop a compiler and runtime for the language.
C# is one of the programming languages designed for the Common Language Infrastructure (CLI).

HTML

Hypertext Markup Language (HTML) is the standard markup language for documents designed to be
displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and
scripting languages such as JavaScript.

CSS

Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document
written in a markup language such as HTML. CSS is a cornerstone technology of the World Wide Web,
alongside HTML and JavaScript.

DATA FLOW DIAGRAMS:

The DFD takes an input-process-output view of a system i.e. data objects flow into the software, are transformed by
processing elements, and resultant data objects flow out of the software.

Data objects represented by labeled arrows and transformation are represented by circles also called as
bubbles. DFD is presented in a hierarchical fashion i.e. the first data flow model represents the system as a whole.
Subsequent DFD refine the context diagram (level 0 DFD), providing increasing details with each subsequent level.

The DFD enables the software engineer to develop models of the information domain & functional domain at
the same time. As the DFD is refined into greater levels of details, the analyst perform an implicit functional
decomposition of the system. At the same time, the DFD refinement results in a corresponding refinement of the
data as it moves through the process that embody the applications.

A context-level DFD for the system the primary external entities produce information for use by the system
and consume information generated by the system. The labeled arrow represents data objects or object hierarchy.
22

RULES FOR DFD:


 Fix the scope of the system by means of context diagrams.

 Organize the DFD so that the main sequence of the actions

 Reads left to right and top to bottom.

 Identify all inputs and outputs.

 Identify and label each process internal to the system with Rounded circles.

 A process is required for all the data transformation and Transfers. Therefore, never connect a data store to a data
Source or the destinations or another data store with just a Data flow arrow.

 Do not indicate hardware and ignore control information.

 Make sure the names of the processes accurately convey everything the process is done.

 There must not be unnamed process.

 Indicate external sources and destinations of the data, with Squares.

 Number each occurrence of repeated external entities.

Identify all data flows for each process step, except simple Record retrievals.

 Label data flow on each arrow.

 Use details flow on each arrow.

.
23

E-R Diagrams:

The Entity-Relationship (ER) model was originally proposed by Peter in 1976 [Chen76] as a way to unify
the network and relational database views. Simply stated the ER model is a conceptual data model that views
the real world as entities and relationships. A basic component of the model is the Entity-Relationship
diagram which is used to visually represents data objects. Since Chen wrote his paper the model has been
extended and today it is commonly used for database design For the database designer, the utility of the ER
model is:

 it maps well to the relational model. The constructs used in the ER model can easily be transformed
into relational tables.

 it is simple and easy to understand with a minimum of training. Therefore, the model can be used by
the database designer to communicate the design to the end user.

 In addition, the model can be used as a design plan by the database developer to implement a data
model in a specific database management software.

DATA TABLES
24

1. Tables

1.1. Table: admin_login_tbl

Columns

Name Data type Description / Attributes

username nvarchar(50)

password nvarchar(50) Nullable

full_name nvarchar(50) Nullable

1.2. Table: author_master_tbl

Columns

Name Data type Description / Attributes

author_id nvarchar(20)

author_name nvarchar(50) Nullable

1.3. Table: book_issue_tbl

Columns

Name Data type Description / Attributes

member_id nvarchar(50)

member_name nvarchar(50) Nullable

book_id nvarchar(50) Nullable

book_name nvarchar(MAX) Nullable

issue_date nvarchar(50) Nullable

due_date nvarchar(MAX) Nullable


25

1.4. Table: book_master_tbl

Columns

Name Data type Description / Attributes

book_id nchar(10)

book_name nvarchar(MAX) Nullable

genre nvarchar(MAX) Nullable

author_name nvarchar(MAX) Nullable

publisher_name nvarchar(MAX) Nullable

publisher_date nvarchar(50) Nullable

language numeric(18, 0) Nullable

edition nvarchar(50) Nullable

book_cost nchar(10) Nullable

no_of_pages nchar(10) Nullable

book_description nvarchar(MAX) Nullable

actual_stock nchar(10) Nullable

current_stock nchar(10) Nullable


26

1.5. Table: member_master_tbl

Columns

Name Data type Description / Attributes

full_name nvarchar(50) Nullable

dob nvarchar(50) Nullable

contact_no nvarchar(50) Nullable

email nvarchar(50) Nullable

state nvarchar(50) Nullable

city nvarchar(50) Nullable

pincode nvarchar(50) Nullable

full_address nvarchar(MAX) Nullable

member_id nvarchar(50)

password nvarchar(50) Nullable

account_status nvarchar(50) Nullable

1.6. Table: publisher_master_tbl


Columns
Name Data type Description / Attributes

publisher_id nchar(50)

publisher_name nvarchar(MAX) Nullable

F
27

CODING

HOMEPAGE.ASPX
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="homepage.aspx.cs"
Inherits="ELibraryManagement.homepage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<section>

<img src="images/home-bg.jpg" class="img-fluid" />

</section>

<section>

<div class="container">

<div class="row">

<div class="col-12">

<center>

<h2>Our Features</h2>

<p><b>Our 3 Primary Features -</b></p>

</center>

</div>

</div>

<div class="row">

<div class="col-md-4">

<center>

<img width="150px" src="images/digital-inventory.png"/>

<h4>Digital Book Inventory</h4>

<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>

</center>

</div>

<div class="col-md-4">

<center>

<img width="150px" src="images/search-online.png"/>

<h4>Search Books</h4>

<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>

</center>

</div>

<div class="col-md-4">

<center>

<img width="150px" src="images/defaulters-list.png"/>


28

<h4>Defaulter List</h4>

<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>

</center>

</div>

</div>

</div>

</section>

<section>

<img src="images/in-homepage-banner.jpg" class="img-fluid" />

</section>

<section>

<div class="container">

<div class="row">

<div class="col-12">

<center>

<h2>Our Process</h2>

<p><b>We have a Simple 3 Step Process</b></p>

</center>

</div>

</div>

<div class="row">

<div class="col-md-4">

<center>

<img width="150px" src="images/sign-up.png" />

<h4>Sign Up</h4>

<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>

</center> </div>

<div class="col-md-4">

<center>

<img width="150px" src="images/search-online.png"/>

<h4>Search Books</h4>

<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p> </center> </div>

<div class="col-md-4">

<center>

<img width="150px" src="images/library.png"/>

<h4>Visit Us</h4>

<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>

</center> </div> </div> </div> </section></asp:Content>


29

HOMEPAGE.ASPX.CS

using System;

namespace ELibraryManagement{

public partial class homepage : System.Web.UI.Page {

protected void Page_Load(object sender , EventArgs e) {

} }}

ADMIN.ASPX

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"

CodeBehind="adminlogin.aspx.cs" Inherits="ELibraryManagement.adminlogin" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<div class="container">

<div class="row">

<div class="col-md-6 mx-auto">

<div class="card">

<div class="card-body">

<div class="row">

<div class="col">

<center>

<img width="150px" src="images/adminuser.png"/>

</center>

</div>

</div>

<div class="row">

<div class="col">

<center>

<h3>Admin Login</h3>

</center>

</div>

</div>

<div class="row">

<div class="col">

<hr>

</div>

</div>

<div class="row">

<div class="col">
30

<label>Admin ID</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox1" runat="server" placeholder="Admin ID"></asp:TextBox>

</div>

<label>Password</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox2" runat="server" placeholder="Password"

TextMode="Password"></asp:TextBox>

</div>

<div class="form-group">

<asp:Button class="btn btn-success btn-block btn-lg" ID="Button1" runat="server"

Text="Login" OnClick="Button1_Click" />

</div>

</div>

</div>

</div>

</div>

<a href="homepage.aspx"><< Back to Home</a><br>

<br>

</div>

</div>

</div>

</asp:Content>

ADMINLOGIN.ASPX.CS
using System;

using System.Configuration;

using System.Data;

using System.Data.SqlClient;

namespace ELibraryManagement

public partial class adminlogin : System.Web.UI.Page

string strcon = ConfigurationManager.ConnectionStrings["con"].ConnectionString;

protected void Page_Load(object sender , EventArgs e) { }

protected void Button1_Click(object sender , EventArgs e) {

try {
31

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed ) { con.Open(); }

SqlCommand cmd = new SqlCommand("select * from admin_login_tbl where username='" + TextBox1.Text.Trim() +


"' AND password='" + TextBox2.Text.Trim() + "'" , con);

SqlDataReader dr = cmd.ExecuteReader();

if ( dr.HasRows ) {

while ( dr.Read() ) {

Response.Write("<script>alert('Successful login');</script>");

Session["username"] = dr.GetValue(0).ToString();

Session["fullname"] = dr.GetValue(2).ToString();

Session["role"] = "admin";

//Session["status"] = dr.GetValue(10).ToString();

} Response.Redirect("homepage.aspx"); }

else { Response.Write("<script>alert('Invalid credentials');</script>"); } }

catch ( Exception ex ) { Response.Write("<script>alert('" + ex.Message + "');</script>"); } } } }

ADMINBOOK INVENTORY.ASPX

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"

CodeBehind="adminbookinventory.aspx.cs" Inherits="ELibraryManagement.adminbookinventory" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

<script type="text/javascript">

$(document).ready(function () {

$(".table").prepend($("<thead></thead>").append($(this).find("tr:first"))).dataTable();

});

function readURL(input) {

if (input.files && input.files[0]) {

var reader = new FileReader();

reader.onload = function (e) {

$('#imgview').attr('src', e.target.result);

};

reader.readAsDataURL(input.files[0]);

</script>
32

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<div class="container-fluid">

<div class="row">

<div class="col-md-5">

<div class="card">

<div class="card-body">

<div class="row">

<div class="col">

<center>

<h4>Book Details</h4>

</center>

</div>

</div>

<div class="row">

<div class="col">

<center>

<img id="imgview" Height="150px" Width="100px" src="images/books.png" />

</center>

</div>

</div>

<div class="row">

<div class="col">

<hr>

</div>

</div>

<div class="row">

<div class="col">

<asp:FileUpload onchange="readURL(this);" class="form-control" ID="FileUpload1" runat="server" />

</div>

</div>

<div class="row">

<div class="col-md-4">

<label>Book ID</label>

<div class="form-group">

<div class="input-group">

<asp:TextBox CssClass="form-control" ID="TextBox1" runat="server" placeholder="Book ID"></asp:TextBox>

<asp:Button class="form-control btn btn-primary" ID="Button4" runat="server" Text="Go"

OnClick="Button4_Click" />

</div>
33

</div>

</div>

<div class="col-md-8">

<label>Book Name</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox2" runat="server" placeholder="Book Name"></asp:TextBox>

</div>

</div>

</div>

<div class="row">

<div class="col-md-4">

<label>Language</label>

<div class="form-group">

<asp:DropDownList class="form-control" ID="DropDownList1" runat="server">

<asp:ListItem Text="English" Value="English" />

<asp:ListItem Text="Hindi" Value="Hindi" />

<asp:ListItem Text="Marathi" Value="Marathi" />

<asp:ListItem Text="French" Value="French" />

<asp:ListItem Text="German" Value="German" />

<asp:ListItem Text="Urdu" Value="Urdu" />

</asp:DropDownList>

</div>

<label>Publisher Name</label>

<div class="form-group">

<asp:DropDownList class="form-control" ID="DropDownList2" runat="server">

<asp:ListItem Text="Publisher 1" Value="Publisher 1" />

<asp:ListItem Text="Publisher 2" Value="Publisher 2" />

</asp:DropDownList>

</div>

</div>

<div class="col-md-4">

<label>Author Name</label>

<div class="form-group">

<asp:DropDownList class="form-control" ID="DropDownList3" runat="server">

<asp:ListItem Text="A1" Value="a1" />

<asp:ListItem Text="a2" Value="a2" />

</asp:DropDownList>

</div>

<label>Publish Date</label>

<div class="form-group">
34

<asp:TextBox CssClass="form-control" ID="TextBox3" runat="server" placeholder="Date"

TextMode="Date"></asp:TextBox>

</div>

</div>

<div class="col-md-4">

<label>Genre</label>

<div class="form-group">

<asp:ListBox CssClass="form-control" ID="ListBox1" runat="server" SelectionMode="Multiple"

Rows="5">

<asp:ListItem Text="Action" Value="Action" />

<asp:ListItem Text="Adventure" Value="Adventure" />

<asp:ListItem Text="Comic Book" Value="Comic Book" />

<asp:ListItem Text="Self Help" Value="Self Help" />

<asp:ListItem Text="Motivation" Value="Motivation" />

<asp:ListItem Text="Healthy Living" Value="Healthy Living" />

<asp:ListItem Text="Wellness" Value="Wellness" />

<asp:ListItem Text="Crime" Value="Crime" />

<asp:ListItem Text="Drama" Value="Drama" />

<asp:ListItem Text="Fantasy" Value="Fantasy" />

<asp:ListItem Text="Horror" Value="Horror" />

<asp:ListItem Text="Poetry" Value="Poetry" />

<asp:ListItem Text="Personal Development" Value="Personal Development" />

<asp:ListItem Text="Romance" Value="Romance" />

<asp:ListItem Text="Science Fiction" Value="Science Fiction" />

<asp:ListItem Text="Suspense" Value="Suspense" />

<asp:ListItem Text="Thriller" Value="Thriller" />

<asp:ListItem Text="Art" Value="Art" />

<asp:ListItem Text="Autobiography" Value="Autobiography" />

<asp:ListItem Text="Encyclopedia" Value="Encyclopedia" />

<asp:ListItem Text="Health" Value="Health" />

<asp:ListItem Text="History" Value="History" />

<asp:ListItem Text="Math" Value="Math" />

<asp:ListItem Text="Textbook" Value="Textbook" />

<asp:ListItem Text="Science" Value="Science" />

<asp:ListItem Text="Travel" Value="Travel" />

</asp:ListBox>

</div>

</div>

</div>

<div class="row">
35

<div class="col-md-4">

<label>Edition</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox9" runat="server" placeholder="Edition"></asp:TextBox>

</div>

</div>

<div class="col-md-4">

<label>Book Cost(per unit)</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox10" runat="server" placeholder="Book Cost(per unit)"

TextMode="Number"></asp:TextBox>

</div>

</div>

<div class="col-md-4">

<label>Pages</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox11" runat="server" placeholder="Pages"

TextMode="Number"></asp:TextBox>

</div>

</div>

</div>

<div class="row">

<div class="col-md-4">

<label>Actual Stock</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox4" runat="server" placeholder="Actual Stock"

TextMode="Number"></asp:TextBox>

</div>

</div>

<div class="col-md-4">

<label>Current Stock</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox5" runat="server" placeholder="Book Cost(per unit)"

TextMode="Number" ReadOnly="True"></asp:TextBox>

</div>

</div>

<div class="col-md-4">

<label>Issued Books</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox7" runat="server" placeholder="Pages"


36

TextMode="Number" ReadOnly="True"></asp:TextBox>

</div>

</div>

</div>

<div class="row">

<div class="col-12">

<label>Book Description</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox6" runat="server" placeholder="Book Description"

TextMode="MultiLine" Rows="2"></asp:TextBox>

</div>

</div>

</div>

<div class="row">

<div class="col-4">

<asp:Button ID="Button1" class="btn btn-lg btn-block btn-success" runat="server"

Text="Add" OnClick="Button1_Click" />

</div>

<div class="col-4">

<asp:Button ID="Button3" class="btn btn-lg btn-block btn-warning" runat="server"

Text="Update" OnClick="Button3_Click" />

</div>

<div class="col-4">

<asp:Button ID="Button2" class="btn btn-lg btn-block btn-danger" runat="server" Text="Delete"

OnClick="Button2_Click" />

</div>

</div>

</div>

</div>

<a href="homepage.aspx"><< Back to Home</a><br>

<br>

</div>

<div class="col-md-7">

<div class="card">

<div class="card-body">

<div class="row">

<div class="col">

<center>

<h4>Book Inventory List</h4>

</center>
37

</div>

</div>

<div class="row">

<div class="col">

<hr>

</div>

</div>

<div class="row">

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$


ConnectionStrings:elibraryDBConnectionString %>"

SelectCommand="SELECT * FROM [book_master_tbl]"></asp:SqlDataSource>

<div class="col">

<asp:GridView class="table table-striped table-bordered" ID="GridView1" runat="server"

AutoGenerateColumns="False" DataKeyNames="book_id" DataSourceID="SqlDataSource1">

<Columns>

<asp:BoundField DataField="book_id" HeaderText="ID" ReadOnly="True" SortExpression="book_id">

<ControlStyle Font-Bold="True" />

<ItemStyle Font-Bold="True" />

</asp:BoundField>

<asp:TemplateField>

<ItemTemplate>

<div class="container-fluid">

<div class="row">

<div class="col-lg-10">

<div class="row">

<div class="col-12">

<asp:Label ID="Label1" runat="server" Text='<%# Eval("book_name") %>' Font-Bold="True"

Font-Size="X-Large"></asp:Label>

</div>

</div>

<div class="row">

<div class="col-12">

<span>Author - </span>

<asp:Label ID="Label2" runat="server" Font-Bold="True" Text='<%# Eval("author_name")


%>'></asp:Label>

&nbsp;| <span><span>&nbsp;</span>Genre - </span>

<asp:Label ID="Label3" runat="server" Font-Bold="True" Text='<%# Eval("genre")


%>'></asp:Label>

&nbsp;|

<span>Language -<span>&nbsp;</span>

<asp:Label ID="Label4" runat="server" Font-Bold="True" Text='<%# Eval("language") %>'></asp:Label>

</span>
38

</div>

</div>

<div class="row">

<div class="col-12">

Publisher -

<asp:Label ID="Label5" runat="server" Font-Bold="True" Text='<%# Eval("publisher_name")


%>'></asp:Label>

&nbsp;| Publish Date -

<asp:Label ID="Label6" runat="server" Font-Bold="True" Text='<%# Eval("publish_date") %>'></asp:Label>

&nbsp;| Pages -

<asp:Label ID="Label7" runat="server" Font-Bold="True" Text='<%# Eval("no_of_pages") %>'></asp:Label>

&nbsp;| Edition -

<asp:Label ID="Label8" runat="server" Font-Bold="True" Text='<%# Eval("edition") %>'></asp:Label>

</div>

</div>

<div class="row">

<div class="col-12">

Cost -

<asp:Label ID="Label9" runat="server" Font-Bold="True" Text='<%# Eval("book_cost") %>'></asp:Label>

&nbsp;| Actual Stock -

<asp:Label ID="Label10" runat="server" Font-Bold="True" Text='<%# Eval("actual_stock")


%>'></asp:Label>

&nbsp;| Available Stock -

<asp:Label ID="Label11" runat="server" Font-Bold="True" Text='<%# Eval("current_stock")


%>'></asp:Label>

</div>

</div>

<div class="row">

<div class="col-12">

Description -

<asp:Label ID="Label12" runat="server" Font-Bold="True" Font-Italic="True" Font-Size="Smaller"

Text='<%# Eval("book_description") %>'></asp:Label>

</div>

</div>

</div>

<div class="col-lg-2">

<asp:Image class="img-fluid" ID="Image1" runat="server" ImageUrl='<%# Eval("book_img_link")


%>' />

</div>

</div>

</div>

</ItemTemplate>
39

</asp:TemplateField>

</Columns>

</asp:GridView>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</asp:Content>

ADMINBOOK INVENTORY.ASPX.CS

using System;

using System.Collections.Generic;

using System.Configuration;

using System.Data;

using System.Data.SqlClient;

using System.IO;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace ELibraryManagement

public partial class adminbookinventory : System.Web.UI.Page

string strcon = ConfigurationManager.ConnectionStrings["con"].ConnectionString;

static string global_filepath;

static int global_actual_stock, global_current_stock, global_issued_books;

protected void Page_Load(object sender , EventArgs e)

if ( !IsPostBack )

fillAuthorPublisherValues();

GridView1.DataBind();
40

// go button click

protected void Button4_Click(object sender , EventArgs e)

getBookByID();

// update button click

protected void Button3_Click(object sender , EventArgs e)

updateBookByID();

// delete button click

protected void Button2_Click(object sender , EventArgs e)

deleteBookByID();

// add button click

protected void Button1_Click(object sender , EventArgs e)

if ( checkIfBookExists() )

Response.Write("<script>alert('Book Already Exists, try some other Book ID');</script>");

else

addNewBook();

// user defined functions

void deleteBookByID()

if ( checkIfBookExists() )

try

{
41

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("DELETE from book_master_tbl WHERE book_id='" + TextBox1.Text.Trim() + "'" ,
con);

cmd.ExecuteNonQuery();

con.Close();

Response.Write("<script>alert('Book Deleted Successfully');</script>");

GridView1.DataBind();

catch ( Exception ex )

Response.Write("<script>alert('" + ex.Message + "');</script>");

else

Response.Write("<script>alert('Invalid Member ID');</script>");

void updateBookByID()

if ( checkIfBookExists() )

try

int actual_stock = Convert.ToInt32(TextBox4.Text.Trim());

int current_stock = Convert.ToInt32(TextBox5.Text.Trim());

if ( global_actual_stock == actual_stock )

{
42

else

if ( actual_stock < global_issued_books )

Response.Write("<script>alert('Actual Stock value cannot be less than the Issued books');</script>");

return;

else

current_stock = actual_stock - global_issued_books;

TextBox5.Text = "" + current_stock;

string genres = "";

foreach ( int i in ListBox1.GetSelectedIndices() )

genres = genres + ListBox1.Items[i] + ",";

genres = genres.Remove(genres.Length - 1);

string filepath = "book_inventory/";

string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);

if ( filename == "" || filename == null )

filepath = global_filepath;

else

FileUpload1.SaveAs(Server.MapPath("book_inventory/" + filename));

filepath = "/book_inventory/" + filename;

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )
43

con.Open();

SqlCommand cmd = new SqlCommand("UPDATE book_master_tbl set book_name=@book_name, genre=@genre,


author_name=@author_name, publisher_name=@publisher_name, publish_date=@publish_date, language=@language, edition=@edition,
book_cost=@book_cost, no_of_pages=@no_of_pages, book_description=@book_description, actual_stock=@actual_stock,
current_stock=@current_stock, book_img_link=@book_img_link where book_id='" + TextBox1.Text.Trim() + "'" , con);

cmd.Parameters.AddWithValue("@book_name" , TextBox2.Text.Trim());

cmd.Parameters.AddWithValue("@genre" , genres);

cmd.Parameters.AddWithValue("@author_name" , DropDownList3.SelectedItem.Value);

cmd.Parameters.AddWithValue("@publisher_name" , DropDownList2.SelectedItem.Value);

cmd.Parameters.AddWithValue("@publish_date" , TextBox3.Text.Trim());

cmd.Parameters.AddWithValue("@language" , DropDownList1.SelectedItem.Value);

cmd.Parameters.AddWithValue("@edition" , TextBox9.Text.Trim());

cmd.Parameters.AddWithValue("@book_cost" , TextBox10.Text.Trim());

cmd.Parameters.AddWithValue("@no_of_pages" , TextBox11.Text.Trim());

cmd.Parameters.AddWithValue("@book_description" , TextBox6.Text.Trim());

cmd.Parameters.AddWithValue("@actual_stock" , actual_stock.ToString());

cmd.Parameters.AddWithValue("@current_stock" , current_stock.ToString());

cmd.Parameters.AddWithValue("@book_img_link" , filepath);

cmd.ExecuteNonQuery();

con.Close();

GridView1.DataBind();

Response.Write("<script>alert('Book Updated Successfully');</script>");

catch ( Exception ex )

Response.Write("<script>alert('" + ex.Message + "');</script>");

else

Response.Write("<script>alert('Invalid Book ID');</script>");

}
44

void getBookByID()

try

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("SELECT * from book_master_tbl WHERE book_id='" + TextBox1.Text.Trim() + "';" ,
con);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

if ( dt.Rows.Count >= 1 )

TextBox2.Text = dt.Rows[0]["book_name"].ToString();

TextBox3.Text = dt.Rows[0]["publish_date"].ToString();

TextBox9.Text = dt.Rows[0]["edition"].ToString();

TextBox10.Text = dt.Rows[0]["book_cost"].ToString().Trim();

TextBox11.Text = dt.Rows[0]["no_of_pages"].ToString().Trim();

TextBox4.Text = dt.Rows[0]["actual_stock"].ToString().Trim();

TextBox5.Text = dt.Rows[0]["current_stock"].ToString().Trim();

TextBox6.Text = dt.Rows[0]["book_description"].ToString();

TextBox7.Text = "" + ( Convert.ToInt32(dt.Rows[0]["actual_stock"].ToString()) - Convert.ToInt32(dt.Rows[0]


["current_stock"].ToString()) );

DropDownList1.SelectedValue = dt.Rows[0]["language"].ToString().Trim();

DropDownList2.SelectedValue = dt.Rows[0]["publisher_name"].ToString().Trim();

DropDownList3.SelectedValue = dt.Rows[0]["author_name"].ToString().Trim();

ListBox1.ClearSelection();

string[] genre = dt.Rows[0]["genre"].ToString().Trim().Split(',');

for ( int i = 0 ; i < genre.Length ; i++ )

for ( int j = 0 ; j < ListBox1.Items.Count ; j++ )

if ( ListBox1.Items[j].ToString() == genre[i] )

ListBox1.Items[j].Selected = true;
45

global_actual_stock = Convert.ToInt32(dt.Rows[0]["actual_stock"].ToString().Trim());

global_current_stock = Convert.ToInt32(dt.Rows[0]["current_stock"].ToString().Trim());

global_issued_books = global_actual_stock - global_current_stock;

global_filepath = dt.Rows[0]["book_img_link"].ToString();

else

Response.Write("<script>alert('Invalid Book ID');</script>");

catch ( Exception ex )

void fillAuthorPublisherValues()

try

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("SELECT author_name from author_master_tbl;" , con);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

DropDownList3.DataSource = dt;

DropDownList3.DataValueField = "author_name";

DropDownList3.DataBind();

cmd = new SqlCommand("SELECT publisher_name from publisher_master_table;" , con);


46

da = new SqlDataAdapter(cmd);

dt = new DataTable();

da.Fill(dt);

DropDownList2.DataSource = dt;

DropDownList2.DataValueField = "publisher_name";

DropDownList2.DataBind();

catch ( Exception ex )

bool checkIfBookExists()

try

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("SELECT * from book_master_tbl where book_id='" + TextBox1.Text.Trim() + "' OR
book_name='" + TextBox2.Text.Trim() + "';" , con);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

if ( dt.Rows.Count >= 1 )

return true;

else

return false;

}
47

catch ( Exception ex )

Response.Write("<script>alert('" + ex.Message + "');</script>");

return false;

void addNewBook()

try

string genres = "";

foreach ( int i in ListBox1.GetSelectedIndices() )

genres = genres + ListBox1.Items[i] + ",";

// genres = Adventure,Self Help,

genres = genres.Remove(genres.Length - 1);

string filepath = "~/book_inventory/b1.png";

string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);

FileUpload1.SaveAs(Server.MapPath("book_inventory/" + filename));

filepath = "~/book_inventory/" + filename;

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("INSERT INTO


book_master_tbl(book_id,book_name,genre,author_name,publisher_name,publish_date,language,edition,book_cost,no_of_pages,book_descrip
tion,actual_stock,current_stock,book_img_link)
values(@book_id,@book_name,@genre,@author_name,@publisher_name,@publish_date,@language,@edition,@book_cost,@no_of_pages,@
book_description,@actual_stock,@current_stock,@book_img_link)" , con);

cmd.Parameters.AddWithValue("@book_id" , TextBox1.Text.Trim());

cmd.Parameters.AddWithValue("@book_name" , TextBox2.Text.Trim());

cmd.Parameters.AddWithValue("@genre" , genres);

cmd.Parameters.AddWithValue("@author_name" , DropDownList3.SelectedItem.Value);

cmd.Parameters.AddWithValue("@publisher_name" , DropDownList2.SelectedItem.Value);
48

cmd.Parameters.AddWithValue("@publish_date" , TextBox3.Text.Trim());

cmd.Parameters.AddWithValue("@language" , DropDownList1.SelectedItem.Value);

cmd.Parameters.AddWithValue("@edition" , TextBox9.Text.Trim());

cmd.Parameters.AddWithValue("@book_cost" , TextBox10.Text.Trim());

cmd.Parameters.AddWithValue("@no_of_pages" , TextBox11.Text.Trim());

cmd.Parameters.AddWithValue("@book_description" , TextBox6.Text.Trim());

cmd.Parameters.AddWithValue("@actual_stock" , TextBox4.Text.Trim());

cmd.Parameters.AddWithValue("@current_stock" , TextBox4.Text.Trim());

cmd.Parameters.AddWithValue("@book_img_link" , filepath);

cmd.ExecuteNonQuery();

con.Close();

Response.Write("<script>alert('Book added successfully.');</script>");

GridView1.DataBind();

catch ( Exception ex )

Response.Write("<script>alert('" + ex.Message + "');</script>");

ADMIN BOOK ISSUING.ASPX

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"


CodeBehind="adminbookissuing.aspx.cs" Inherits="ELibraryManagement.adminbookissuing" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"></asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<div class="container-fluid">

<div class="row">

<div class="col-md-5">

<div class="card">

<div class="card-body">

<div class="row">

<div class="col">

<center>

<h4>Book Issuing</h4>

</center>

</div>

</div>
49

<div class="row">

<div class="col">

<center>

<img width="100px" src="images/books.png" />

</center>

</div>

</div>

<div class="row">

<div class="col">

<hr>

</div>

</div>

<div class="row">

<div class="col-md-6">

<label>Member ID</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox2" runat="server" placeholder="Member ID"></asp:TextBox>

</div>

</div>

<div class="col-md-6">

<label>Book ID</label>

<div class="form-group">

<div class="input-group">

<asp:TextBox CssClass="form-control" ID="TextBox1" runat="server" placeholder="Book ID"></asp:TextBox>

<asp:Button class="btn btn-primary" ID="Button1" runat="server" Text="Go" />

</div>

</div>

</div>

</div>

<div class="row">

<div class="col-md-6">

<label>Member Name</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox3" runat="server" placeholder="Member Name"


ReadOnly="True"></asp:TextBox>

</div>

</div>

<div class="col-md-6">

<label>Book Name</label>

<div class="form-group">
50

<asp:TextBox CssClass="form-control" ID="TextBox4" runat="server" placeholder="Book Name"


ReadOnly="True"></asp:TextBox>

</div>

</div>

</div>

<div class="row">

<div class="col-md-6">

<label>Start Date</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox5" runat="server" placeholder="Start Date"


TextMode="Date"></asp:TextBox>

</div>

</div>

<div class="col-md-6">

<label>End Date</label>

<div class="form-group">

<asp:TextBox CssClass="form-control" ID="TextBox6" runat="server" placeholder="End Date"


TextMode="Date"></asp:TextBox>

</div>

</div>

</div>

<div class="row">

<div class="col-6">

<asp:Button ID="Button2" class="btn btn-lg btn-block btn-primary" runat="server" Text="Issue" />

</div>

<div class="col-6">

<asp:Button ID="Button4" class="btn btn-lg btn-block btn-success" runat="server" Text="Return" />

</div>

</div>

</div>

</div>

<a href="homepage.aspx"><< Back to Home</a><br>

<br>

</div>

<div class="col-md-7">

<div class="card">

<div class="card-body">

<div class="row">

<div class="col">

<center>

<h4>Issued Book List</h4>

</center>
51

</div>

</div>

<div class="row">

<div class="col">

<hr>

</div>

</div>

<div class="row">

<div class="col">

<asp:GridView class="table table-striped table-bordered" ID="GridView1" runat="server"></asp:GridView>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</asp:Content>

ADMIN.BOOK ISSUING.ASPX.CS

using System;

using System.Collections.Generic;

using System.Configuration;

using System.Data;

using System.Data.SqlClient;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace ELibraryManagement

public partial class adminbookissuing : System.Web.UI.Page

string strcon = ConfigurationManager.ConnectionStrings["con"].ConnectionString;

protected void Page_Load(object sender , EventArgs e)

GridView1.DataBind();

}
52

// issue book

protected void Button2_Click(object sender , EventArgs e)

if ( checkIfBookExist() && checkIfMemberExist() )

if ( checkIfIssueEntryExist() )

Response.Write("<script>alert('This Member already has this book');</script>");

else

issueBook();

else

Response.Write("<script>alert('Wrong Book ID or Member ID');</script>");

// return book

protected void Button4_Click(object sender , EventArgs e)

if ( checkIfBookExist() && checkIfMemberExist() )

if ( checkIfIssueEntryExist() )

returnBook();

else

Response.Write("<script>alert('This Entry does not exist');</script>");

else

Response.Write("<script>alert('Wrong Book ID or Member ID');</script>");


53

// go button click event

protected void Button1_Click(object sender , EventArgs e)

getNames();

// user defined function

void returnBook()

try

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("Delete from book_issue_tbl WHERE book_id='" + TextBox1.Text.Trim() + "' AND
member_id='" + TextBox2.Text.Trim() + "'" , con);

int result = cmd.ExecuteNonQuery();

if ( result > 0 )

cmd = new SqlCommand("update book_master_tbl set current_stock = current_stock+1 WHERE book_id='" +


TextBox1.Text.Trim() + "'" , con);

cmd.ExecuteNonQuery();

con.Close();

Response.Write("<script>alert('Book Returned Successfully');</script>");

GridView1.DataBind();

con.Close();
54

else

Response.Write("<script>alert('Error - Invalid details');</script>");

catch ( Exception ex )

Response.Write("<script>alert('" + ex.Message + "');</script>");

void issueBook()

try

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("INSERT INTO


book_issue_tbl(member_id,member_name,book_id,book_name,issue_date,due_date)
values(@member_id,@member_name,@book_id,@book_name,@issue_date,@due_date)" , con);

cmd.Parameters.AddWithValue("@member_id" , TextBox2.Text.Trim());

cmd.Parameters.AddWithValue("@member_name" , TextBox3.Text.Trim());

cmd.Parameters.AddWithValue("@book_id" , TextBox1.Text.Trim());

cmd.Parameters.AddWithValue("@book_name" , TextBox4.Text.Trim());

cmd.Parameters.AddWithValue("@issue_date" , TextBox5.Text.Trim());

cmd.Parameters.AddWithValue("@due_date" , TextBox6.Text.Trim());

cmd.ExecuteNonQuery();

cmd = new SqlCommand("update book_master_tbl set current_stock = current_stock-1 WHERE book_id='" +


TextBox1.Text.Trim() + "'" , con);

cmd.ExecuteNonQuery();
55

con.Close();

Response.Write("<script>alert('Book Issued Successfully');</script>");

GridView1.DataBind();

catch ( Exception ex )

Response.Write("<script>alert('" + ex.Message + "');</script>");

bool checkIfBookExist()

try

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("select * from book_master_tbl WHERE book_id='" + TextBox1.Text.Trim() + "' AND
current_stock >0" , con);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

if ( dt.Rows.Count >= 1 )

return true;

else

return false;

catch ( Exception ex )

return false;

}
56

bool checkIfMemberExist()

try

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("select full_name from member_master_tbl WHERE member_id='" +


TextBox2.Text.Trim() + "'" , con);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

if ( dt.Rows.Count >= 1 )

return true;

else

return false;

catch ( Exception ex )

return false;

bool checkIfIssueEntryExist()

try

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("select * from book_issue_tbl WHERE member_id='" + TextBox2.Text.Trim() + "' AND
book_id='" + TextBox1.Text.Trim() + "'" , con);
57

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

if ( dt.Rows.Count >= 1 )

return true;

else

return false;

catch ( Exception ex )

return false;

void getNames()

try

SqlConnection con = new SqlConnection(strcon);

if ( con.State == ConnectionState.Closed )

con.Open();

SqlCommand cmd = new SqlCommand("select book_name from book_master_tbl WHERE book_id='" + TextBox1.Text.Trim() +
"'" , con);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

if ( dt.Rows.Count >= 1 )

TextBox4.Text = dt.Rows[0]["book_name"].ToString();

else

{
58

Response.Write("<script>alert('Wrong Book ID');</script>");

cmd = new SqlCommand("select full_name from member_master_table WHERE member_id='" + TextBox2.Text.Trim() + "'" ,
con);

da = new SqlDataAdapter(cmd);

dt = new DataTable();

da.Fill(dt);

if ( dt.Rows.Count >= 1 )

TextBox3.Text = dt.Rows[0]["full_name"].ToString();

else

Response.Write("<script>alert('Wrong User ID');</script>");

catch ( Exception ex )

protected void GridView1_RowDataBound(object sender , GridViewRowEventArgs e)

try

if ( e.Row.RowType == DataControlRowType.DataRow )

//Check your condition here

DateTime dt = Convert.ToDateTime(e.Row.Cells[5].Text);

DateTime today = DateTime.Today;

if ( today > dt )

e.Row.BackColor = System.Drawing.Color.PaleVioletRed;

catch ( Exception ex ) { Response.Write("<script>alert('" + ex.Message + "');</script>"); } } }}


59

Screenshot of web application


Homepage

ADMIN PAGE
60

AUTHOR MANAGEMENT

PUBLISHER MANAGEMENT

BOOK INVENTORY
61

BOOK ISSUING
62

Testing:

Testing is a process of executing a program with the indent of finding an error.


Testing is a crucial element of software quality assurance and presents ultimate review of
specification, design and coding.

System Testing is an important phase. Testing represents an interesting anomaly for the software.
Thus a series of testing are performed for the proposed system before the system is ready for user
acceptance testing.

A good test case is one that has a high probability of finding an as undiscovered error. A
successful test is one that uncovers an as undiscovered error.

Testing Objectives:

1. Testing is a process of executing a program with the intent of finding an error

2. A good test case is one that has a probability of finding an as yet undiscovered error

3. A successful test is one that uncovers an undiscovered error

Testing Principles:

 All tests should be traceable to end user requirements

 Tests should be planned long before testing begins

 Testing should begin on a small scale and progress towards testing in large

 Exhaustive testing is not possible

 To be most effective testing should be conducted by a independent third party


63

The primary objective for test case design is to derive a set of tests that has the highest
livelihood for uncovering defects in software. To accomplish this objective two different
categories of test case design techniques are used. They are

 White box testing.

 Black box testing.


64

White-box testing:

White box testing focus on the program control structure. Test cases are derived to ensure
that all statements in the program have been executed at least once during testing and that all
logical conditions have been executed.

Block-box testing:

Black box testing is designed to validate functional requirements without regard to the internal
workings of a program. Black box testing mainly focuses on the information domain of the
software, deriving test cases by partitioning input and output in a manner that provides through
test coverage. Incorrect and missing functions, interface errors, errors in data structures, error in
functional logic are the errors falling in this category.

Testing strategies:

A strategy for software testing must accommodate low-level tests that are necessary to
verify that all small source code segment has been correctly implemented as well as high-level
tests that validate major system functions against customer requirements.

Testing fundamentals:

Testing is a process of executing program with the intent of finding error. A good test
case is one that has high probability of finding an undiscovered error. If testing is conducted
successfully it uncovers the errors in the software. Testing cannot show the absence of defects, it
can only show that software defects present.
65

Testing Information flow:

Information flow for testing flows the pattern. Two class of input provided to test the
process. The software configuration includes a software requirements specification, a design
specification and source code.

Test configuration includes test plan and test cases and test tools. Tests are conducted and
all the results are evaluated. That is test results are compared with expected results. When
erroneous data are uncovered, an error is implied and debugging commences.

Unit testing:
Unit testing is essential for the verification of the code produced during the coding phase
and hence the goal is to test the internal logic of the modules. Using the detailed design
description as a guide, important paths are tested to uncover errors with in the boundary of the
modules. These tests were carried out during the programming stage itself. All units of Vienna
SQL were successfully tested.

Integration testing:
Integration testing focuses on unit tested modules and build the program structure that is
dictated by the design phase.

System testing:
System testing tests the integration of each module in the system. It also tests to find
discrepancies between the system and it’s original objective, current specification and system
documentation. The primary concern is the compatibility of individual modules. Entire system is
working properly or not will be tested here, and specified path ODBC connection will correct or
not, and giving output or not are tested here these verifications and validations are done by
giving input values to the system and by comparing with expected output. Top-down testing
implementing here.
66

Acceptance Testing:
This testing is done to verify the readiness of the system for the implementation.
Acceptance testing begins when the system is complete. Its purpose is to provide the end user
with the confidence that the system is ready for use. It involves planning and execution of
functional tests, performance tests and stress tests in order to demonstrate that the implemented
system satisfies its requirements.

Tools to special importance during acceptance testing include:


Test coverage Analyzer – records the control paths followed for each test case.
Timing Analyzer – also called a profiler, reports the time spent in various regions of the code are
areas to concentrate on to improve system performance.

Coding standards – static analyzers and standard checkers are used to inspect code for deviations
from standards and guidelines.

Test Cases:
Test cases are derived to ensure that all statements in the program have been executed at
least once during testing and that all logical conditions have been executed. Using White-Box
testing methods, the software engineer can drive test cases that

i. EXERCISE THE DATABASE CONNECTIVITY


ii. EXERCIXE THE LINKS THAT MUST WORK PROPERLY
iii. EXERCISE THAT THE CRUD FUNCTIONS WORK PROPERLY
iv. EXERCISE THE WORKING INTERFACE OF THE RESPONSIVE
WEB APPLICATION.
67

CONCLUSION
 
After we have completed the project we are sure the problems in the existing system
would overcome. The “LIBRARY MANAGEMENT SYSTEM” process made
computerized to reduce human errors and to increase the efficiency. The main focus
of this project is to lessen human efforts. The maintenance of the records is made
efficient, as all the records are stored in the ACCESS database, through which data
can be retrieved easily. The navigation control is provided in all the forms to navigate
through the large amount of records. If the numbers of records are very large then user
has to just type in the search string and user gets the results immediately. The editing
is also made simpler. The user has to just type in the required field and press the
update button to update the desired field.

The Books and Students are given a particular unique id no.  So that they can be
accessed correctly and without errors. Our main aim of the project is to get the
correct information about a particular student and books available in the library.

The problems, which existed in the earlier system, have been removed to a large
extent. And it is expected that this project will go a long way in satisfying users
requirements. The computerization of the Library Management will not only
improves the efficiency but will also reduce human stress thereby indirectly
improving human recourses.
68

FUTURE SCOPE
he impact of technology has greatly expanded the scope and capacity of the average library.
This is an on-going and developing relationship as the computer's full capabilities are gradually
explored and applied to the library.

Computers have radically changed the way people learn and communicate with
each other, as well as the library itself.

The library differs little from other institutions and firms in the impact of computing technology on
them. Changes are in the almost unlimited tracking of the availability of books: Whether a book
has been issued or not is the work of moments, where before it would have entailed a long
search through a card index.

The availability of learning resources has been massively expanded through access to the


Internet, again facilitated by the use of computer technology.
69

BIBLIOGRAPHY

The following books were referred during the analysis and execution phase of the project

1. C# 8.0 AND .NET CORE 3.0


2. ASP.NET 2.0 PROFESSIONAL

WEBSITES USED:
1. www.microsoft.com
2. www.google.com
3. www.timcorey.com
4. www.stackoverflow.com
5.

You might also like