嘉法则 2023-12-09 20:29 采纳率: 25%
浏览 4

python学生管理系统可视化

python sqlite3 GUI 实现一个学生管理系统
在利用GUI实现可视化时,通过学号删除学生信息修改学生信息应该怎么写,并实现可视化,代码里的删除和修改是错误的

import sqlite3  
from tkinter import *  
from tkinter import messagebox  

# 创建数据库连接  
def create_connection():  
    conn = sqlite3.connect('student_info.db')  
    return conn  
  
# 创建表格  
def create_table():  
    conn = create_connection()  
    cursor = conn.cursor()  
    cursor.execute('''CREATE TABLE student  
                     (id INTEGER PRIMARY KEY, name TEXT, age INTEGER, sex TEXT, grade INTEGER)''')  
    conn.commit()  
    cursor.close()  
    messagebox.showinfo('提示', '表格创建成功')  
  
# 插入学生信息  
def insert_student():  
    conn = create_connection()  
    cursor = conn.cursor()  
    cursor.execute("INSERT INTO student (id, name, age, sex, grade) VALUES (?, ?, ?, ?, ?)",   
                  (id_entry.get(), name_entry.get(), age_entry.get(), sex_entry.get(), grade_entry.get()))  
    conn.commit()  
    messagebox.showinfo('提示', '学生信息插入成功')
    
#删除学号最大的学生的信息
def del_row():
    conn = create_connection()  
    cursor = conn.cursor()  
    cursor.execute("delete from student where id=(select id from student order by id desc limit 1)")
    conn.commit()  
    messagebox.showinfo('提示', '学生信息删除成功')  

#按学号查询
def selectID():
    conn = create_connection()  
    cursor = conn.cursor()
    item=cursor.execute("update student set id=?,name=?, age=?, sex=?,grade=? where id=",   
                  (id_entry.get(), name_entry.get(), age_entry.get(), sex_entry.get(), grade_entry.get()))  
    for item in cursor:
        print(item)
    cursor.close()

#按成绩排序并输出结果
def sortScore():
    conn = create_connection()  
    cursor = conn.cursor()
    cursor.execute("select * from student group by grade order by grade desc")
    for item in cursor:
        print(item)
    cursor.close()

# 显示所有学生信息  
def show_students():  
    conn = create_connection()  
    cursor = conn.cursor()  
    cursor.execute("SELECT * FROM student")  
    rows = cursor.fetchall()  
    for row in rows:  
        print(row)  
    cursor.close()  

# 主函数  
def main():
    global frame, id_entry, name_entry, age_entry, sex_entry, grade_entry  
    root = Tk()  
    root.title("学生信息录入系统")  
    frame = Frame(root)  
    frame.pack()  
    id_entry=StringVar()
    name_entry = StringVar()  
    age_entry = StringVar()
    sex_entry=StringVar()
    grade_entry = StringVar()
    Label(frame, text="学号:").grid(row=0)  
    Entry(frame, textvariable=id_entry).grid(row=0, column=1) 
    Label(frame, text="姓名:").grid(row=1)  
    Entry(frame, textvariable=name_entry).grid(row=1, column=1)  
    Label(frame, text="年龄:").grid(row=2)  
    Entry(frame, textvariable=age_entry).grid(row=2, column=1)  
    Label(frame, text="性别:").grid(row=3)  
    Entry(frame, textvariable=sex_entry).grid(row=3, column=1)
    Label(frame, text="成绩:").grid(row=4)   
    Entry(frame, textvariable=grade_entry).grid(row=4, column=1)  
    Button(frame, text="创建表格", command=create_table).grid(row=6, column=0, sticky=W, pady=4)  
    Button(frame, text="插入学生信息", command=insert_student).grid(row=6, column=1, sticky=W, pady=4)  
    Button(frame, text="显示所有学生信息", command=show_students).grid(row=6, column=2, sticky=W, pady=4)
    Button(frame, text="按成绩排序学生", command=sortScore).grid(row=7, column=0, sticky=W, pady=4)
    Button(frame, text="删除学生信息", command=del_row).grid(row=7, column=1, sticky=W, pady=4)
    Button(frame, text="查询学生信息", command=selectID).grid(row=7, column=2, sticky=W, pady=4)
    root.mainloop()  
  
if __name__ == '__main__':  
    main()


  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-09 22:28
    关注

    【相关推荐】




    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 12月9日

悬赏问题

  • ¥200 基于同花顺supermind的量化策略脚本编辑
  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?