python用模板mysql-connector设计汽车数据库,有1.不要设计类,连接数据库 2.设计一个窗体,数据库建立admin和sales表3.查询的在右边位置,查询结果有窗口提示结果4.查询只通过salea表的序号的数据,序号为主建,不能重复,查询结果有窗口提示,查询不到显示是错误,也有错误提示
时间: 2024-03-14 08:48:17 浏览: 123
Python:连接mysql数据库的三种方式,mysql.connector, pymysql, MYSQLdb
好的,根据您的要求,我可以提供以下示例代码来实现你的需求:
```python
import mysql.connector
from tkinter import *
# 连接到 MySQL 数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="car_database"
)
# 创建 admin 和 sales 表
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE IF NOT EXISTS admin (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255), password VARCHAR(255))")
mycursor.execute("CREATE TABLE IF NOT EXISTS sales (id INT AUTO_INCREMENT PRIMARY KEY, serial_number INT UNIQUE, make VARCHAR(255), model VARCHAR(255), year INT, price INT)")
# 插入示例数据
mycursor.execute("INSERT INTO sales (serial_number, make, model, year, price) VALUES (12345, 'Ford', 'Mustang', 2021, 35000)")
mycursor.execute("INSERT INTO sales (serial_number, make, model, year, price) VALUES (23456, 'Chevrolet', 'Camaro', 2021, 40000)")
mydb.commit()
# 查询数据
def search():
try:
# 获取输入的序号
serial_number = int(serial_number_entry.get())
# 查询数据
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM sales WHERE serial_number = {}".format(serial_number))
result = mycursor.fetchone()
# 显示查询结果或错误提示
if result:
make_label.config(text="Make: {}".format(result[2]))
model_label.config(text="Model: {}".format(result[3]))
year_label.config(text="Year: {}".format(result[4]))
price_label.config(text="Price: ${}".format(result[5]))
else:
make_label.config(text="")
model_label.config(text="")
year_label.config(text="")
price_label.config(text="Error: Data not found")
except:
make_label.config(text="")
model_label.config(text="")
year_label.config(text="")
price_label.config(text="Error: Invalid input")
# 创建主窗口
window = Tk()
window.title("Car Sales Database")
# 创建输入框、查询按钮和标签
serial_number_label = Label(window, text="Serial Number:")
serial_number_label.grid(row=0, column=0)
serial_number_entry = Entry(window)
serial_number_entry.grid(row=0, column=1)
search_button = Button(window, text="Search", command=search)
search_button.grid(row=0, column=2)
make_label = Label(window, text="")
make_label.grid(row=1, column=3)
model_label = Label(window, text="")
model_label.grid(row=2, column=3)
year_label = Label(window, text="")
year_label.grid(row=3, column=3)
price_label = Label(window, text="")
price_label.grid(row=4, column=3)
# 运行主循环
window.mainloop()
```
这段代码首先连接到 MySQL 数据库,然后创建 admin 和 sales 表,并向 sales 表中插入示例数据。接下来,创建一个窗口,其中包含一个输入框、一个查询按钮和四个标签。当用户点击查询按钮时,程序会从输入框获取序号并查询 sales 表中的数据。如果查询成功,程序会在窗口右侧显示查询结果。如果查询失败,程序会在窗口中显示错误提示。
请注意,这只是一个简单的示例,您可能需要根据您的实际需求进行修改和扩展。
阅读全文