本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下
import mysql.connector
import sys, os
import time
import datetime
from tkinter import *
from tkinter.messagebox import *
class Libop:
user = "root"
pwd = ""
host = "localhost"
db = "library"
data_file = "mysql-test.dat"
def __init__(self):
print("init")
try:
self.library=mysql.connector.connect(user=Libop.user,password=Libop.pwd,host=Libop.host,database=Libop.db)
self.cursor=self.library.cursor()
print("Connect successfully")
except mysql.connector.Error as err:
print("WTF! initial wrong")
print("Error: {}".format(err.msg))
sys.exit()
def select(self,str):
try:
self.cursor.execute(str)
return self.cursor.fetchall()
except mysql.connector.Error as err:
print("WTF! select wrong")
print("Error:{}".format(err.msg))
print(str)
showinfo("ERROR","Please input the parameter correctly")
def update(self,str):
try:
self.cursor.execute(str)
self.library.commit()
return 1
except mysql.connector.Error as err:
print("WTF! update wrong")
print("Error:{}".format(err.msg))
return 0
def delete(self,str):
try:
self.cursor.execute(str)
self.library.commit()
except mysql.connector.Error as err:
print("WTF! delete wrong")
print("Error:{}".format(err.msg))
def insert(self,str):
try:
self.cursor.execute(str)
self.library.commit()
return 1
except mysql.connector.Error as err:
print("WTF! insert wrong")
print("Error:{}".format(err.msg))
return 0
LIB = Libop()
root=Tk()
root.wm_title("Library System")
str1=str2=""
book_type=name=year=publisher=writer=price1=price2=order=""
cardid=""
def call_rent(en1,en2,brok):
st1=en1.get()
st2=en2.get()
rent(st1,st2,brok)
def call_return(en1,en2):
st1=en1.get()
st2=en2.get()
back(st1,st2)
def login():
str1=ide.get()
str2=pwde.get()
curs=LIB.select("select manage_id,pswd from managers where manage_id="{}" and pswd="{}"".format(str1,str2))
if ((str1,str2) in curs):
showinfo("message","login success")
label_book_id=Label(root,text="BookID:").grid(row=0,column=4,sticky=W)
label_card_id=Label(root,text="CardID:").grid(row=1,column=4,sticky=W)
entry_book_id=Entry(root)
entry_book_id.grid(row=0,column=5,sticky=W)
entry_card_id=Entry(root)
entry_card_id.grid(row=1,column=5,sticky=W)
entry_cardid=Entry(root)
entry_cardid.grid(row=5,column=0,sticky=W)
#buttons
button_insert=Button(root,text="insert book",command=inbook)
button_insert.grid(row=0,column=2,sticky=W)
button_return=Button(root,text="rent book")
button_return.bind("",lambda z:call_rent(entry_book_id,entry_card_id,str1))
button_return.grid(row=0,column=3,sticky=W)
button_rent=Button(root,text="return book")
button_rent.bind("",lambda l:call_return(entry_