Tk和MySQL制作图书管理系统
时间: 2023-09-08 15:07:28 浏览: 100
基于mysql的图书管理系统
5星 · 资源好评率100%
制作图书管理系统可以分为前端和后端两个部分,其中前端使用Tkinter库,后端使用MySQL数据库。
首先,需要创建一个MySQL数据库并设计好表结构,包括图书编号、书名、作者、出版社、出版时间、价格等字段。
然后使用Python的MySQLdb库连接数据库,并进行数据的增删改查操作。例如,添加图书信息:
```python
import MySQLdb
# 连接数据库
db = MySQLdb.connect(host='localhost', user='root', passwd='password', db='books')
# 获取游标
cursor = db.cursor()
# 插入数据
sql = "INSERT INTO books(book_id, book_name, author, publisher, publish_time, price) VALUES('%s', '%s', '%s', '%s', '%s', '%s')" % ('001', 'Python基础教程', 'Magnus Lie Hetland', '人民邮电出版社', '2017-01-01', '69.00')
try:
cursor.execute(sql)
db.commit()
print('添加成功')
except:
db.rollback()
print('添加失败')
# 关闭数据库连接
db.close()
```
接下来,使用Tkinter库创建GUI界面,包括图书信息的录入、查询、修改和删除等功能。例如,添加图书信息的界面:
```python
import tkinter as tk
root = tk.Tk()
root.title('添加图书信息')
# 创建标签和文本框
tk.Label(root, text='图书编号:').grid(row=0, column=0)
book_id_entry = tk.Entry(root)
book_id_entry.grid(row=0, column=1)
tk.Label(root, text='书名:').grid(row=1, column=0)
book_name_entry = tk.Entry(root)
book_name_entry.grid(row=1, column=1)
tk.Label(root, text='作者:').grid(row=2, column=0)
author_entry = tk.Entry(root)
author_entry.grid(row=2, column=1)
tk.Label(root, text='出版社:').grid(row=3, column=0)
publisher_entry = tk.Entry(root)
publisher_entry.grid(row=3, column=1)
tk.Label(root, text='出版时间:').grid(row=4, column=0)
publish_time_entry = tk.Entry(root)
publish_time_entry.grid(row=4, column=1)
tk.Label(root, text='价格:').grid(row=5, column=0)
price_entry = tk.Entry(root)
price_entry.grid(row=5, column=1)
# 创建按钮
def add_book():
book_id = book_id_entry.get()
book_name = book_name_entry.get()
author = author_entry.get()
publisher = publisher_entry.get()
publish_time = publish_time_entry.get()
price = price_entry.get()
# 将图书信息添加到数据库
db = MySQLdb.connect(host='localhost', user='root', passwd='password', db='books')
cursor = db.cursor()
sql = "INSERT INTO books(book_id, book_name, author, publisher, publish_time, price) VALUES('%s', '%s', '%s', '%s', '%s', '%s')" % (book_id, book_name, author, publisher, publish_time, price)
try:
cursor.execute(sql)
db.commit()
print('添加成功')
except:
db.rollback()
print('添加失败')
db.close()
add_button = tk.Button(root, text='添加', command=add_book)
add_button.grid(row=6, column=0)
root.mainloop()
```
其他功能的实现类似,通过Tkinter创建不同的界面并绑定相应的函数即可。
阅读全文