在mysqlpythontkinter创建犯罪人员管理系统实现信息增加与查询
- 创建MySQL数据库和表
首先,我们需要创建一个MySQL数据库和表来存储犯罪人员的信息。在MySQL中,我们可以使用以下命令来创建一个名为“criminal”的数据库:
CREATE DATABASE criminal;
然后,我们可以使用以下命令来创建一个名为“criminals”的表:
USE criminal;
CREATE TABLE criminals (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL,
crime VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
);
这个表包括以下几个字段:id(自增长的唯一标识符)、name(犯罪人员姓名)、age(年龄)、gender(性别)和crime(犯罪记录)。
- 使用Python连接MySQL数据库
接下来,我们需要使用Python连接MySQL数据库。我们可以使用Python的mysql-connector模块来实现连接。下面是一个连接示例:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="criminal"
)
mycursor = mydb.cursor()
这个示例使用“localhost”作为主机名,使用用户名和密码登录MySQL服务器,并选择刚刚创建的“criminal”数据库。
- 实现信息增加功能
现在我们可以开始实现信息增加功能了。我们可以使用Tkinter来创建一个简单的GUI界面,让用户输入犯罪人员的信息,并将其插入到MySQL数据库中。下面是一个示例:
import tkinter as tk
from tkinter import messagebox
def add_criminal():
name = name_entry.get()
age = age_entry.get()
gender = gender_entry.get()
crime = crime_entry.get()
if name == "" or age == "" or gender == "" or crime == "":
messagebox.showerror("Error", "Please fill in all fields.")
return
sql = "INSERT INTO criminals (name, age, gender, crime) VALUES (%s, %s, %s, %s)"
val = (name, age, gender, crime)
mycursor.execute(sql, val)
mydb.commit()
messagebox.showinfo("Success", "Criminal added successfully.")
# 创建GUI界面
root = tk.Tk()
root.title("Criminal Management System")
name_label = tk.Label(root, text="Name:")
name_label.grid(row=0, column=0)
name_entry = tk.Entry(root)
name_entry.grid(row=0, column=1)
age_label = tk.Label(root, text="Age:")
age_label.grid(row=1, column=0)
age_entry = tk.Entry(root)
age_entry.grid(row=1, column=1)
gender_label = tk.Label(root, text="Gender:")
gender_label.grid(row=2, column=0)
gender_entry = tk.Entry(root)
gender_entry.grid(row=2, column=1)
crime_label = tk.Label(root, text="Crime:")
crime_label.grid(row=3, column=0)
crime_entry = tk.Entry(root)
crime_entry.grid(row=3, column=1)
add_button = tk.Button(root, text="Add Criminal", command=add_criminal)
add_button.grid(row=4, column=0, columnspan=2)
root.mainloop()
这个示例创建了一个包括四个标签、四个文本框和一个按钮的GUI界面。用户可以在文本框中输入犯罪人员的信息,然后点击按钮将其插入到MySQL数据库中。
- 实现信息查询功能
最后,我们可以实现一个简单的信息查询功能。我们可以使用Tkinter创建一个新的GUI界面,让用户输入要查询的犯罪人员的姓名,并从MySQL数据库中检索相关信息。下面是一个示例:
def search_criminal():
name = name_entry.get()
if name == "":
messagebox.showerror("Error", "Please enter a name to search.")
return
sql = "SELECT * FROM criminals WHERE name=%s"
val = (name,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
if result is None:
messagebox.showinfo("Not Found", "No criminal found with that name.")
else:
messagebox.showinfo("Search Result", f"Name: {result[1]}\nAge: {result[2]}\nGender: {result[3]}\nCrime: {result[4]}")
# 创建GUI界面
root = tk.Tk()
root.title("Criminal Management System")
name_label = tk.Label(root, text="Name:")
name_label.pack()
name_entry = tk.Entry(root)
name_entry.pack()
search_button = tk.Button(root, text="Search", command=search_criminal)
search_button.pack()
root.mainloop()
这个示例创建了一个包括一个标签、一个文本框和一个按钮的GUI界面。用户可以在文本框中输入要查询的犯罪人员的姓名,然后点击按钮从MySQL数据库中检索相关信息。如果找到了相关信息,程序会显示犯罪人员的姓名、年龄、性别和犯罪记录。如果没有找到相关信息,则程序会显示一个消息框,提示用户未找到相关信息。
至此,我们已经完成了一个简单的犯罪人员管理系统,包括信息增加和查询功能。当然,这个系统还有很多可以改进的地方,比如添加编辑和删除功能、改进GUI界面等等
原文地址: https://www.cveoy.top/t/topic/fmr8 著作权归作者所有。请勿转载和采集!