代码如下:

import sqlite3 import tkinter as tk from tkinter import messagebox

连接数据库

conn = sqlite3.connect('d:\students.db') cursor = conn.cursor()

创建学生表

cursor.execute('''CREATE TABLE IF NOT EXISTS students (id INTEGER PRIMARY KEY, name TEXT NOT NULL, sex TEXT NOT NULL, age INTEGER NOT NULL)''')

定义添加学生信息函数

def add_student(): # 获取输入框的内容 id = int(id_entry.get()) name = name_entry.get() sex = sex_entry.get() age = int(age_entry.get())

# 向数据库中添加学生信息
cursor.execute("INSERT INTO students (id, name, sex, age) VALUES (?, ?, ?, ?)", (id, name, sex, age))
conn.commit()

# 清空输入框
id_entry.delete(0, tk.END)
name_entry.delete(0, tk.END)
sex_entry.delete(0, tk.END)
age_entry.delete(0, tk.END)

定义查询学生信息函数

def query_student(): # 获取输入框的内容 id = int(id_entry.get())

# 查询数据库中该学号对应的学生信息
cursor.execute("SELECT * FROM students WHERE id=?", (id,))
student = cursor.fetchone()

# 如果查到了学生信息,则显示在文本框中
if student:
    name_entry.delete(0, tk.END)
    name_entry.insert(0, student[1])
    sex_entry.delete(0, tk.END)
    sex_entry.insert(0, student[2])
    age_entry.delete(0, tk.END)
    age_entry.insert(0, student[3])
# 如果没查到学生信息,则弹出提示框
else:
    messagebox.showinfo('提示', '该学号对应的学生不存在!')

定义删除学生信息函数

def delete_student(): # 获取输入框的内容 id = int(id_entry.get())

# 删除数据库中该学号对应的学生信息
cursor.execute("DELETE FROM students WHERE id=?", (id,))
conn.commit()

# 清空输入框
id_entry.delete(0, tk.END)
name_entry.delete(0, tk.END)
sex_entry.delete(0, tk.END)
age_entry.delete(0, tk.END)

创建主窗口

window = tk.Tk() window.title('学生信息管理系统')

创建标签和输入框

id_label = tk.Label(window, text='学号:') id_label.grid(row=0, column=0, padx=10, pady=10) id_entry = tk.Entry(window) id_entry.grid(row=0, column=1, padx=10, pady=10)

name_label = tk.Label(window, text='姓名:') name_label.grid(row=1, column=0, padx=10, pady=10) name_entry = tk.Entry(window) name_entry.grid(row=1, column=1, padx=10, pady=10)

sex_label = tk.Label(window, text='性别:') sex_label.grid(row=2, column=0, padx=10, pady=10) sex_entry = tk.Entry(window) sex_entry.grid(row=2, column=1, padx=10, pady=10)

age_label = tk.Label(window, text='年龄:') age_label.grid(row=3, column=0, padx=10, pady=10) age_entry = tk.Entry(window) age_entry.grid(row=3, column=1, padx=10, pady=10)

创建按钮

add_button = tk.Button(window, text='添加', command=add_student) add_button.grid(row=4, column=0, padx=10, pady=10)

query_button = tk.Button(window, text='查询', command=query_student) query_button.grid(row=4, column=1, padx=10, pady=10)

delete_button = tk.Button(window, text='删除', command=delete_student) delete_button.grid(row=4, column=2, padx=10, pady=10)

clear_button = tk.Button(window, text='清除', command=lambda: (id_entry.delete(0, tk.END), name_entry.delete(0, tk.END), sex_entry.delete(0, tk.END), age_entry.delete(0, tk.END))) clear_button.grid(row=4, column=3, padx=10, pady=10)

进入消息循环

window.mainloop()

关闭数据库连接

conn.close(

编写图形界面应用程序实现学生信息的添加、查询和删除学生信息存储在SQLite数据库中如dstudentsdb文件。要求:1单击添加按钮可以将入框的学号、姓名、性别、年龄信息添加到数据库中。2单击查询根据学号查询对应数据库的学生的信息并显示在文本框。如不存在则弹出提示框。3单击删除根据学号删除该学生在数据库的信息。如该学号不存在则弹出提示框。4单击清除将文本框的内容清空。python

原文地址: http://www.cveoy.top/t/topic/go98 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录