鱼C论坛

 找回密码
 立即注册
查看: 2692|回复: 6

信息添加修改报错

[复制链接]
发表于 2021-6-30 21:30:32 | 显示全部楼层 |阅读模式
10鱼币
import sys
import tkinter.messagebox
from tkinter import *
import tkinter.tix
import sqlite3
root=tkinter.tix.Tk()
root.title("人工智能学院学生奖学金信息编辑")
winWidth=700
winHeight=280
zzy=StringVar()
zxm=StringVar()
zxh=StringVar()
zxq=StringVar()
zjxjdj=StringVar()

#获取屏幕分辨率
screenWidth=root.winfo_screenwidth()
screenHeight=root.winfo_screenheight()
#设置窗口初始位置在屏幕居中
x=int((screenWidth-winWidth)/2)
y=int((screenHeight-winHeight)/2)
root.geometry("%sx%s+%s+%s"%(winWidth,winHeight,x,y))

def turn_save(event):
    try:
        conn=sqlite3.connect('人工院信息.db')
    except:
        print("提示","打开人工院信息.db库连接出错,请检查!")
        conn.close()
        sys.exit()
    cur=conn.cursor()
    curTable="学生奖学金信息"
    selectSQL="insert into 学生奖学金信息 values('"+zzy.get()+"','"+zxm.get()+"','"+zxh.get()+"','"+zxq.get()+"','"+zjxjdj.get()+"')"
    
    cur.execute(selectSQL)
    conn.commit()
    tree.insert("",0,text="",values=(zzy.get(),zxm.get(),zxh.get(),zxq.get(),zjxjdj.get()))
    cur.close()
    conn.close()
    tkinter.messagebox.showinfo('提示','记录保存成功!')

#更新表中数据
def table_update(event):
    conn=sqlite3.connect('人工院信息.db')
    cur=conn.cursor()
    updateSQL="update 学生奖学金信息 set zy='"+zzy.get()+"',xm='"+zxm.get()+"',xh='"+zxh.get()+"',xq='"+zxq.get()+"',jxjdj='"+zjxjdj.get()+"' where xh='"+zxh.get()+"'"
    cur.execute(updateSQL)
    conn.commit()
    getSQLDate()

def turn_property(even):
    getSQLDate()
def getSQLDate():
    try:
        conn=sqlite3.connect('人工院信息.db')
    except:
        print("提示","打开人工院信息.db库连接出错,请检查!")
        conn.close()
        sys.exit()

    x=tree.get_children()
    for item in x:
        tree.delete(item)

    cur=conn.cursor()
    curTable="学生奖学金信息"
    cur.execute("select * from 学生奖学金信息")
    for row in cur.fetchall():
        tree.insert("",0,text="",values=(row[0],row[1],row[2],row[3],row[4]))
    cur.close()
    conn.close()

#删除表中数据
def table_delete(event):
    conn=sqlite3.connect('人工院信息.db')
    cur=conn.cursor()
    cur.execute("delete from 学生奖学金信息 where xh='"+zxh.get()+"'")
    conn.commit()
    getSQLDate()
    
def clearInput():
    zzy=""
    zxm=""
    zxh=""
    zxq=""
    zjxjdj=""    

#单击某条记录显示至输入框
form_record=[]
def record_show_to_input():
    global form_record
    clearInput()
    zzy.set(form_record[0])
    zxm.set(form_record[1])
    zxh.set(form_record[2])
    zxq.set(form_record[3])
    zjxjdj.set(form_record[4])

#表格点击响应函数
def selectTree(event):
    global form_record
    form_record=tree.item(tree.selection(),"values")
#显示至输入框
    record_show_to_input()

import tkinter as tk
from tkinter.constants import *
from tkinter import ttk
tree=ttk.Treeview(root)
tree["columns"]=("zy","xm","xh","xq","jxjdj")
tree.column("zy",width=100)
tree.column("xm",width=100)
tree.column("xh",width=100)
tree.column("xq",width=100)
tree.column("jxjdj",width=100)

tree.heading("zy",text="专业")
tree.heading("xm",text="姓名")
tree.heading("xh",text="学号")
tree.heading("xq",text="学期")
tree.heading("jxjdj",text="奖学金等级")

tree.pack(side="top")
top=tkinter.tix.Frame(root,relief=RAISED,bd=1)
top.pack(side="left")
top.zy1=tkinter.tix.LabelEntry(top,label="      专业:",labelside='top',)
top.zy1.pack(side="left")
top.zy1.entry['textvariable']=zzy
top.xm1=tkinter.tix.LabelEntry(top,label="  姓名:",labelside='top',)
top.xm1.pack(side="left")
top.xm1.entry['textvariable']=zxm
top.xh1=tkinter.tix.LabelEntry(top,label="            学号:",labelside='top',)
top.xh1.pack(side="left")
top.xh1.entry['textvariable']=zxh
top.xq1=tkinter.tix.LabelEntry(top,label="学期:",labelside='top',)
top.xq1.pack(side="left")
top.xq1.entry['textvariable']=zxq
top.jxjdj1=tkinter.tix.LabelEntry(top,label="          奖学金等级:",labelside='top',)
top.jxjdj1.pack(side="left")
top.jxjdj1.entry['textvariable']=zjxjdj

tree.bind('<<TreeviewSelect>>',selectTree)

Savebn=tk.Button(top,text="添加",width=10)
Savebn.bind("<Button-1>",turn_save)
Savebn.pack(side="left")

Updatebn=tk.Button(top,text="修改",width=10)
Updatebn.bind("<Button-1>",table_update)
Updatebn.pack(side="left")

Deletebn=tk.Button(top,text="删除",width=10)
Deletebn.bind("<Button-1>",table_delete)
Deletebn.pack(side="left")

bs=tk.Button(root,text="显示数据",width=10)
bs.bind("<Button-1>",turn_property)
bs.pack(side="left")

root.mainloop()

捕获.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-30 23:19:15 | 显示全部楼层
数据库没有“学生奖学金信息”这个表哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-30 23:21:20 | 显示全部楼层
z5560636 发表于 2021-6-30 23:19
数据库没有“学生奖学金信息”这个表哦

能不能帮忙改改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-1 08:39:31 From FishC Mobile | 显示全部楼层
君苏依寂 发表于 2021-6-30 23:21
能不能帮忙改改

需要改数据库??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-1 08:56:53 From FishC Mobile | 显示全部楼层
wp231957 发表于 2021-7-1 08:39
需要改数据库??

我也不知道该怎么解决,大佬要是有时间的话,能帮忙改一下就改一下,谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-1 09:01:27 From FishC Mobile | 显示全部楼层
君苏依寂 发表于 2021-7-1 08:56
我也不知道该怎么解决,大佬要是有时间的话,能帮忙改一下就改一下,谢谢啦

你这是准备干啥呢
你自己有数据库吗
10有89你这代码是拿来主义,所以要玩一玩的话就算了,毕竟你没有库
你要是准备生产用,那你就得根据需要自己编写一个库,然后再去修改代码
数据库这东西别人没办法帮你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-1 10:00:59 From FishC Mobile | 显示全部楼层
wp231957 发表于 2021-7-1 09:01
你这是准备干啥呢
你自己有数据库吗
10有89你这代码是拿来主义,所以要玩一玩的话就算了,毕竟你没有库 ...

多谢批评,这是冷月让我改的,我改了半天也没弄好,上CSDN上搜索说的是相对路径不一样,我也不知道该怎么改,于是我就想上论坛上寻求帮助吧,这个应该是冷月自己写的,应该没有数据库。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 19:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表