The Library Management System is developed using C# language, this school library system project is a simple automated project aimed at simplifying the manner in which a book is published, saving time and effort.
You may properly keep track of books published, reissued and those not returned with the use of this method.
This removes the need to recruit many staff because the librarian can accomplish the regular transactions by himself at a given time with the aid of this device.
This school library management system in C# windows application is a simple system to use that will increase the library’s performance.
The library management system project in c sharp free download is designed to organize information automatically as its input into the system.
About Project Details
These are the following features of the system
- Manages Books
- Manage Borrowers
- Manage Transactions
- Manages Book Categories
- Manages User
- Inventory Reports
- User Logs
- Login and Logout
To run this project make sure that you have Visual Studio IDE and XAMPP installed in your PC(for Windows) to run this project. Library Management System in C#.net free download with source code.
Library Management System in C#: Steps On How To Run The Project
Time needed: 5 minutes
These are the steps on how to run library management system project C#
- Step 1: Download
First, download the source code given below.
- Step 2: Extract file
Second, after you finished download the source code, extract the zip file.
- Step 3: Open Xampp
Third, open xampp and start the Apache and MySQL.
- Step 4: Open browser
Fourth, Open a browser and go to URL “http://localhost/phpmyadmin/”.
- Step 5: Create database
Fifth, click on databases tab and Create database naming “dblibrary”.
- Step 6: Import
Sixth, Click on browse file and select “dblibrary.sql” file which is inside the “SchoolLibrarySystem” folder and then click “Go“.
- Step 7: Open Visual Studio
Seventh, Open a Visual Studio and open the folder SchoolLibrarySystem then click the “LibrarySystem.sln“.
- Step 8: Start Project
Eighth, Start the project.
The Code Given Below Is For The Books Form
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using LibrarySystem.Includes;
using LibrarySystem.Properties;
namespace LibrarySystem
{
public partial class frmBooks : Form
{
public frmBooks()
{
InitializeComponent();
}
SQLConfig config = new SQLConfig();
usableFunction funct = new usableFunction();
string sql;
private void btnNew_Click(object sender, EventArgs e)
{
funct.clearTxt(this);
sql = "SELECT `AccessionNo`, `BookTitle`, `BookDesc` as 'Description', `Author`, `PublishDate`, `BookPublisher`, `Category`, BookType as 'TypeOfBooks', `BookPrice` as 'Price',DeweyDecimal,Remark,Status FROM `tblbooks` b, `tblcategory` c WHERE b.`CategoryId`=c.`CategoryId` ";
config.Load_ResultList(sql, dtgList);
sql = "SELECT CategoryId,Category From tblcategory WHERE Category !='ALL' ORDER BY CATEGORY ASC";
config.fiil_CBO(sql, cboCategory);
btnUpdate.Enabled = false;
btnSave.Enabled = true;
btnDelete.Enabled = false;
}
private void frmBooks_Load(object sender, EventArgs e)
{
btnNew_Click(sender, e);
}
private void btnSave_Click(object sender, EventArgs e)
{
string datePublish = dtpDatePublish.Text;
string remarks = "Donate";
if (txtAccessionNo.Text == "" ||
txtAuthor.Text == "" || txtTitle.Text == ""
|| txtDesc.Text == "" || txtPublisher.Text == "" )
{
MessageBox.Show("All fields are required to be filled up.", "Inavalid", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
sql = "SELECT * FROM `tblbooks` WHERE `AccessionNo` = '" + txtAccessionNo.Text + "'";
config.singleResult(sql);
if (config.dt.Rows.Count > 0)
{
MessageBox.Show("Accession number is already in used.", "Inavalid", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
// 'adding books
sql = "Insert Into `tblbooks` " +
" (`AccessionNo`, `BookTitle`, `BookDesc`, `Author`, `PublishDate`, `BookPublisher`, `CategoryId`, `BookPrice`, `BookQuantity`,Status,DeweyDecimal,OverAllQty,Remark,BookType) " +
" VALUES ('" + txtAccessionNo.Text + "','" + txtTitle.Text + "','" + txtDesc.Text + "','" + txtAuthor.Text + "','" + datePublish + "','" + txtPublisher.Text + "','" + cboCategory.SelectedValue + "','0',1, 'Available' ,'" + txtDeweyDecimal.Text + "',1,'" + remarks + "','" + cboType.Text + "')";
config.Execute_CUD(sql, "failed to execute the query.", "Books has been saved in the database");
sql = "SELECT * FROM `tblbooknumber` WHERE `BOOKTITLE` = '" + txtTitle.Text + "'";
config.singleResult(sql);
if (config.dt.Rows.Count > 0)
{
sql = "UPDATE `tblbooknumber` SET `QTY`=`QTY`+ 1 WHERE `BOOKTITLE`='" + txtTitle.Text + "'";
config.Execute_Query(sql);
}
else
{
sql = "INSERT INTO `tblbooknumber` (`BOOKTITLE`,`QTY`,`Desc`, `Author`, `PublishDate`, `Publisher`) " +
" VALUES ('" + txtTitle.Text + "',1,'" + txtDesc.Text + "','" + txtAuthor.Text + "','" + datePublish + "','" + txtPublisher.Text + "')";
config.Execute_Query(sql);
}
frmBooks_Load(sender, e);
}
private void btnUpdate_Click(object sender, EventArgs e)
{
string datePublish = dtpDatePublish.Text;
string remarks = "Donate";
if (txtAccessionNo.Text == "" ||
txtAuthor.Text == "" || txtTitle.Text == ""
|| txtDesc.Text == "" || txtPublisher.Text == "")
{
MessageBox.Show("All fields are required to be filled up.", "Inavalid", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
sql = "Update `tblbooks` Set `BookTitle`='" + txtTitle.Text +
"', `BookDesc`='" + txtDesc.Text + "', `Author`='" + txtAuthor.Text + "', `PublishDate`='" + datePublish +
"', `BookPublisher`='" + txtPublisher.Text + "', `CategoryId`='" + cboCategory.SelectedValue + "', `DeweyDecimal`='" + txtDeweyDecimal.Text +
"',Remark='" + remarks + "',BookType='" + cboType.Text + "' WHERE `AccessionNo`='" + txtAccessionNo.Text + "'";
config.Execute_CUD(sql, "failed to execute the query.", "Books has been updated in the database");
frmBooks_Load(sender, e);
}
private void btnDelete_Click(object sender, EventArgs e)
{
sql = "DELETE FROM `tblbooks` WHERE `AccessionNo` = '" + txtAccessionNo.Text + "'";
config.Execute_CUD(sql, "failed to execute the query.", "Books has been deleted in the database");
sql = "DELETE FROM `tblbooknumber` WHERE `BOOKTITLE`='" + txtTitle.Text + "'";
config.Execute_Query(sql);
frmBooks_Load(sender, e);
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
private void dtgList_CellClick(object sender, DataGridViewCellEventArgs e)
{
txtAccessionNo.Text = dtgList.CurrentRow.Cells[0].Value.ToString();
}
private void txtAccessionNo_TextChanged(object sender, EventArgs e)
{
try
{
sql = "SELECT `AccessionNo`, `BookTitle`, `BookDesc` , `Author`, `PublishDate`, `BookPublisher`, `Category`, BookType ,DeweyDecimal,Remark FROM `tblbooks` b, `tblcategory` c WHERE b.`CategoryId`=c.`CategoryId` AND `AccessionNo`= '" + txtAccessionNo.Text + "'";
config.singleResult(sql);
if (config.dt.Rows.Count > 0)
{
txtTitle.Text = config.dt.Rows[0].Field<string>(1);
txtDesc.Text = config.dt.Rows[0].Field<string>(2);
txtAuthor.Text = config.dt.Rows[0].Field<string>(3);
dtpDatePublish.Text = config.dt.Rows[0].Field<DateTime>(4).ToString();
txtPublisher.Text = config.dt.Rows[0].Field<string>(5);
cboCategory.Text = config.dt.Rows[0].Field<string>(6);
cboType.Text = config.dt.Rows[0].Field<string>(7);
txtDeweyDecimal.Text = config.dt.Rows[0].Field<string>(8);
btnUpdate.Enabled = true;
btnSave.Enabled = false;
btnDelete.Enabled = true;
}
else
{
txtTitle.Clear();
txtDesc.Clear();
txtAuthor.Clear();
txtPublisher.Clear();
cboType.Text = "Unknown";
sql = "Select CategoryId,Category FROM tblcategory";
config.fiil_CBO(sql, cboCategory);
dtpDatePublish.Text = DateTime.Now.ToString("yyyy-MM-dd");
btnUpdate.Enabled = false;
btnSave.Enabled = true;
btnDelete.Enabled = false;
}
}
catch (Exception ex)
{
this.Text = ex.Message;
}
}
private void cboCategory_SelectedIndexChanged(object sender, EventArgs e)
{
//sql = "SELECT * FROM `tblcategory` WHERE `CategoryId`=" + cboCategory.SelectedValue;
//config.singleResult(sql);
//txtDeweyDecimal.Text = config.dt.Rows[0].Field<string>(2);
}
private void txtSearch_TextChanged(object sender, EventArgs e)
{
sql = "SELECT `AccessionNo`, `BookTitle`, `BookDesc` as 'Description', `Author`, `PublishDate`, `BookPublisher`, `Category`, BookType as 'TypeOfBooks', `BookPrice` as 'Price', DeweyDecimal,Remark,Status FROM `tblbooks` b, `tblcategory` c WHERE b.`CategoryId`=c.`CategoryId` AND (`BookTitle` Like '%" + txtSearch.Text + "%' OR `Author` Like '%" + txtSearch.Text + "%' OR `AccessionNo` Like '%" + txtSearch.Text + "%')";
config.Load_ResultList(sql, dtgList);
}
}
}
In this module which is the barrower is overdue.
Downloadable Source Code
Conclusion
This Library management System C# is only a project made for school requirement purposes only.
You can download this source code and modify it to suit your client requirements, since this is a student project it means you cannot really expect 100% functionality from this.
Related Articles
- Library Management System Project in PHP with Source Code
- Library Management System Project In Python with Source Code
- Library Management System Project Report
- Library Management System Project In Java With Source Code
- Django Library Management System with Source Code
- Library Management System Project In C++ With Source Code
- Library Management System Project in NodeJS with Source Code
Inquiries
If you have any questions or suggestions about Library Management System project in C# with Source Code, please feel free to leave a comment below.
After I run source code I cannot enter enter into Login page and it says that Account doesn’t exist. Please contact administrator. so what must I do to enter into this system?
can I have the full project please for dissertation purpose am out of time
You can download the full source code in this article.
what’s the login?