python学生籍贯信息管理系统使用数据库和UI界面
时间: 2023-09-16 21:13:48 浏览: 176
以下是一个使用Python和SQLite数据库实现学生籍贯信息管理系统的UI界面代码示例:
```python
from tkinter import *
import tkinter.messagebox as messagebox
import sqlite3
class StudentManagementSystem:
def __init__(self, master):
self.master = master
self.master.title("学生籍贯信息管理系统")
# 创建标签和输入框
Label(self.master, text="姓名:").grid(row=0, column=0)
self.name_entry = Entry(self.master)
self.name_entry.grid(row=0, column=1)
Label(self.master, text="年龄:").grid(row=1, column=0)
self.age_entry = Entry(self.master)
self.age_entry.grid(row=1, column=1)
Label(self.master, text="籍贯:").grid(row=2, column=0)
self.hometown_entry = Entry(self.master)
self.hometown_entry.grid(row=2, column=1)
# 创建按钮
Button(self.master, text="添加", command=self.add_student).grid(row=3, column=0, pady=10)
Button(self.master, text="查询", command=self.query_student).grid(row=3, column=1, pady=10)
# 创建数据库连接并创建表
self.conn = sqlite3.connect("students.db")
self.c = self.conn.cursor()
self.c.execute("CREATE TABLE IF NOT EXISTS students (name TEXT, age INTEGER, hometown TEXT)")
def add_student(self):
# 获取输入框中的数据
name = self.name_entry.get()
age = self.age_entry.get()
hometown = self.hometown_entry.get()
# 将学生信息写入数据库
self.c.execute("INSERT INTO students VALUES (?, ?, ?)", (name, age, hometown))
self.conn.commit()
messagebox.showinfo("提示", "添加学生成功!")
# 清空输入框
self.name_entry.delete(0, END)
self.age_entry.delete(0, END)
self.hometown_entry.delete(0, END)
def query_student(self):
# 获取输入框中的数据
name = self.name_entry.get()
# 在数据库中查找学生信息
self.c.execute("SELECT * FROM students WHERE name=?", (name,))
student = self.c.fetchone()
if student:
messagebox.showinfo("查询结果", f"姓名:{student[0]}\n年龄:{student[1]}\n籍贯:{student[2]}")
else:
messagebox.showinfo("查询结果", "没有找到该学生!")
# 清空输入框
self.name_entry.delete(0, END)
def __del__(self):
# 关闭数据库连接
self.conn.close()
if __name__ == '__main__':
root = Tk()
app = StudentManagementSystem(root)
root.mainloop()
```
这个程序的界面包含三个输入框和两个按钮,可以添加学生信息和查询学生信息。学生信息保存在一个SQLite数据库中,每一个记录对应一个学生的信息,包括姓名、年龄和籍贯。当添加学生信息时,程序会将输入框中的数据写入数据库;当查询学生信息时,程序会在数据库中查找对应的学生信息并显示在消息框中。
在程序结束时,需要关闭数据库连接。在这个例子中,我们在类的析构函数中实现了关闭数据库连接的操作。
阅读全文
相关推荐


















