python tkinter mysql实现客房信息管理:该功能可以让用户管理酒店客房的基本信息,如房间号、房间类型、价格等实例代码
时间: 2024-03-25 20:36:52 浏览: 57
以下是一个简单的 Python Tkinter 和 MySQL 数据库实现客房信息管理的示例代码:
```python
import tkinter as tk
import mysql.connector
# 连接 MySQL 数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="hotel"
)
# 创建游标
mycursor = mydb.cursor()
# 创建客房信息管理窗口
class RoomManagementWindow(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
# 查询客房信息
def query_room(self):
room_type = self.room_type_entry.get()
sql = "SELECT * FROM rooms"
if room_type:
sql += " WHERE room_type = '{}'".format(room_type)
mycursor.execute(sql)
result = mycursor.fetchall()
self.result_text.delete('1.0', tk.END)
for row in result:
self.result_text.insert(tk.END, row)
self.result_text.insert(tk.END, '\n')
# 添加客房信息
def add_room(self):
room_number = self.room_number_entry.get()
room_type = self.room_type_entry.get()
price = self.price_entry.get()
sql = "INSERT INTO rooms (room_number, room_type, price) VALUES (%s, %s, %s)"
val = (room_number, room_type, price)
mycursor.execute(sql, val)
mydb.commit()
self.result_text.delete('1.0', tk.END)
self.result_text.insert(tk.END, "客房信息添加成功!")
# 删除客房信息
def delete_room(self):
room_number = self.room_number_entry.get()
sql = "DELETE FROM rooms WHERE room_number = '{}'".format(room_number)
mycursor.execute(sql)
mydb.commit()
self.result_text.delete('1.0', tk.END)
self.result_text.insert(tk.END, "客房信息删除成功!")
# 创建窗口控件
def create_widgets(self):
tk.Label(self, text="房间号").grid(row=0)
tk.Label(self, text="房间类型").grid(row=1)
tk.Label(self, text="价格").grid(row=2)
self.room_number_entry = tk.Entry(self)
self.room_type_entry = tk.Entry(self)
self.price_entry = tk.Entry(self)
self.room_number_entry.grid(row=0, column=1)
self.room_type_entry.grid(row=1, column=1)
self.price_entry.grid(row=2, column=1)
tk.Button(self, text="查询", command=self.query_room).grid(row=3, column=0)
tk.Button(self, text="添加", command=self.add_room).grid(row=3, column=1)
tk.Button(self, text="删除", command=self.delete_room).grid(row=3, column=2)
self.result_text = tk.Text(self, width=50, height=10)
self.result_text.grid(row=4, columnspan=3)
# 创建主窗口
root = tk.Tk()
root.title("客房信息管理")
app = RoomManagementWindow(master=root)
app.mainloop()
```
在这个示例代码中,我们使用了 `mysql.connector` 模块连接 MySQL 数据库,并创建了一个名为 `hotel` 的数据库。我们创建了一个名为 `rooms` 的表,用于存储客房信息,包括房间号、房间类型和价格。
在客房信息管理窗口中,我们创建了三个输入框用于输入客房信息,以及三个按钮用于查询、添加和删除客房信息。点击查询按钮,我们通过执行 SELECT 查询语句从数据库中获取客房信息,并将结果显示在文本框中。点击添加按钮,我们通过执行 INSERT 语句将客房信息添加到数据库中,并在文本框中显示添加成功的消息。点击删除按钮,我们通过执行 DELETE 语句从数据库中删除客房信息,并在文本框中显示删除成功的消息。
请注意,这只是一个简单的示例代码,你需要根据自己的实际情况进行修改和调整。同时,为了安全起见,你应该对用户输入进行验证和过滤,以避免 SQL 注入等安全问题。
阅读全文