Challenge

Project 2 Library Book Management System

import sqlite3

def DataBase():
con = sqlite3.connect('data1.db')
cur = con.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS data1(id INTEGER PRIMARY KEY AUTOINCREMENT ,Bookname TEXT,Author TEXT,Year TEXT,Isbm TEXT)")
con.commit()
con.close()

def Add(Bookname,Author,Year,Isbm):
con = sqlite3.connect('data1.db')
cur = con.cursor()
cur.execute("INSERT INTO data1 VALUES(NULL,?,?,?,?)",(Bookname,Author,Year,Isbm))
con.commit()
con.close()

def View():
con = sqlite3.connect('data1.db')
cur = con.cursor()
cur.execute("SELECT * FROM data1")
rows = cur.fetchall()
con.commit()
con.close()
return rows

def Delete(id):
con = sqlite3.connect('data1.db')
cur = con.cursor()
cur.execute("DELETE FROM data1 WHERE id =? ",(id,))
con.commit()
con.close()


def SearchData(Bookname="",Author="",Year="",Isbm=""):
con = sqlite3.connect('data1.db')
cur = con.cursor()
cur.execute("SELECT * FROM data1 where Bookname=? OR Author=? OR Year=? OR Isbm=?",(Bookname,Author,Year,Isbm))
rows = cur.fetchall()
con.commit()
con.close()
return rows

def Update(id,Bookname="",Author="",Year="",Isbm=""):
con = sqlite3.connect('data1.db')
cur = con.cursor()
cur.execute("SELECT * FROM data1 where Bookname=? ,Author=?,Year=?,Isbm=?",(Bookname,Author,Year,Isbm,id))
con.commit()
con.close()



DataBase()

from tkinter import *
import data1
import tkinter.messagebox as tkMessagebox

class Data():

def __init__(self,root):
self.root = root
self.root.title("Libray Book Management")


Bookname = StringVar()
Author = StringVar()
Year = StringVar()
Isbm = StringVar()

#==================================================Function Call============================================
def Exit():
result = tkMessagebox.askquestion('Error','Do you want to exit ?')
if result == 'yes' :
root.destroy()
exit()

def Adddata():
if Bookname.get() == "" or Author.get() == "" or Year.get() == "":
tkMessagebox.showerror('Error','Please enter *marked values')
else:
data1.Add(Bookname.get(),Author.get(),Year.get(),Isbm.get())
booklist.delete(0,END)
booklist.insert(END,(Bookname.get(),Author.get(),Year.get(),Isbm.get()))
self.Bookname.delete(0,END)
self.Author.delete(0,END)
self.Year.delete(0,END)
self.Isbm.delete(0,END)


def Display():
booklist.delete(0,END)
for row in data1.View():
booklist.insert(END,row)

def SelectedBook(event):
global sb
search_book = booklist.curselection()[0]
sb = booklist.get(search_book)
self.Bookname.delete(0,END)
self.Bookname.insert(END,sb[1])
self.Author.delete(0,END)
self.Author.insert(END,sb[2])
self.Year.delete(0,END)
self.Year.insert(END,sb[3])
self.Isbm.delete(0,END)
self.Isbm.insert(END,sb[4])
txt_result.config(text="Book Present",fg='red')

def DeleteBook():
if (len(Bookname.get())!=0):
data1.Delete(sb[0])
self.Bookname.delete(0,END)
self.Author.delete(0,END)
self.Year.delete(0,END)
self.Isbm.delete(0,END)

def Issue():
if (len(Bookname.get())!=0):
data1.Delete(sb[0])
self.Bookname.delete(0,END)
self.Author.delete(0,END)
self.Year.delete(0,END)
self.Isbm.delete(0,END)
txt_result.config(text="Book Issued",fg='green')

def Search():
booklist.delete(0,END)
for row in data1.SearchData(Bookname.get(),Author.get(),Year.get(),Isbm.get()):
booklist.insert(END,row)




#========================================Frame Widget==============================================================

MainFrame = Frame(root)
MainFrame.grid()

TitleFrame = Frame(MainFrame,bd=2,relief='raise')
TitleFrame.pack(side=TOP)

title = Label(TitleFrame,font=('arial',47,'bold'),text='Library Book Management')
title.grid()

ButtonFrame = Frame(MainFrame,bd=2,width=1350,height=70,relief='raise')
ButtonFrame.pack(side=BOTTOM)

DataFrame = Frame(MainFrame,bd=1,width=1350,height=400,relief='raise')
DataFrame.pack(side=BOTTOM)

DataFrameLeft = LabelFrame(DataFrame,bd=1,width=1350,height=600,font=('arial',20,'bold'),text='Info.')
DataFrameLeft.pack(side=LEFT)

DataFrameRight = LabelFrame(DataFrame,bd=1,width=1000,height=600,font=('arial',20,'bold'),text='Books')
DataFrameRight.pack(side=RIGHT)

#======================================Label Widget===============================================
Booknames = Label(DataFrameLeft,font=('arial',10,'bold'),text='Book Name*')
Booknames.grid(row=0,column=0)

Authors = Label(DataFrameLeft,font=('arial',10,'bold'),text='Author*')
Authors.grid(row=1,column=0)

Years = Label(DataFrameLeft,font=('arial',10,'bold'),text='Year of Publication*')
Years.grid(row=2,column=0)

Isbms = Label(DataFrameLeft,font=('arial',10,'bold'),text='ISBN')
Isbms.grid(row=3,column=0)


#======================================Entry Widget==================================================
self.Bookname = Entry(DataFrameLeft,textvariable=Bookname,width=60)
self.Bookname.grid(row=0,column=1)

self.Author = Entry(DataFrameLeft,textvariable=Author,width=60)
self.Author.grid(row=1,column=1)

self.Year = Entry(DataFrameLeft,textvariable=Year,width=60)
self.Year.grid(row=2,column=1)

self.Isbm = Entry(DataFrameLeft,textvariable=Isbm,width=60)
self.Isbm.grid(row=3,column=1)

#======================================List Widget===============================================
scrollbar = Scrollbar(DataFrameRight)
scrollbar.grid(row=0,column=1)

booklist = Listbox(DataFrameRight,width=50,height=16,yscrollcommand=scrollbar.set)
booklist.bind('<<ListboxSelect>>',SelectedBook)
booklist.grid(row=0,column=0)
scrollbar.config(command=booklist.yview)


#======================================Button Widget===============================================
Display = Button(DataFrameLeft,text='Display',font=('arial',15,'bold'),height=1,width=10,bd=4,command=Display)
Display.grid(row=5,column=1)

Search = Button(DataFrameLeft,text='Search Book',font=('arial',15,'bold'),height=1,width=10,bd=4,command=Search)
Search.grid(row=6,column=1)

Add = Button(DataFrameLeft,text='Add',font=('arial',15,'bold'),height=1,width=10,bd=4,command=Adddata)
Add.grid(row=7,column=1)

Issue = Button(DataFrameRight,text='Issue book',font=('arial',15,'bold'),height=1,width=10,bd=4,command=Issue)
Issue.grid(row=1,column=0)

Delete = Button(DataFrameRight,text='Delete',font=('arial',15,'bold'),height=1,width=10,bd=4,command=DeleteBook)
Delete.grid(row=2,column=0)

Exit = Button(ButtonFrame,text='Exit',font=('arial',15,'bold'),height=1,width=10,bd=4,command=Exit)
Exit.grid(row=0,column=0)

txt_result = Label(ButtonFrame,font=('arial',15,'bold'))
txt_result.grid(row=1,column=0)


if __name__=='__main__':
root=Tk()
application = Data(root)
root.mainloop()




Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.