君苏依寂 发表于 2021-6-30 21:30:32

信息添加修改报错

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,row,row,row,row))
    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)
    zxm.set(form_record)
    zxh.set(form_record)
    zxq.set(form_record)
    zjxjdj.set(form_record)

#表格点击响应函数
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()

z5560636 发表于 2021-6-30 23:19:15

数据库没有“学生奖学金信息”这个表哦

君苏依寂 发表于 2021-6-30 23:21:20

z5560636 发表于 2021-6-30 23:19
数据库没有“学生奖学金信息”这个表哦

能不能帮忙改改

wp231957 发表于 2021-7-1 08:39:31

君苏依寂 发表于 2021-6-30 23:21
能不能帮忙改改

需要改数据库??

君苏依寂 发表于 2021-7-1 08:56:53

wp231957 发表于 2021-7-1 08:39
需要改数据库??

我也不知道该怎么解决,大佬要是有时间的话,能帮忙改一下就改一下,谢谢啦

wp231957 发表于 2021-7-1 09:01:27

君苏依寂 发表于 2021-7-1 08:56
我也不知道该怎么解决,大佬要是有时间的话,能帮忙改一下就改一下,谢谢啦

你这是准备干啥呢
你自己有数据库吗
10有89你这代码是拿来主义,所以要玩一玩的话就算了,毕竟你没有库
你要是准备生产用,那你就得根据需要自己编写一个库,然后再去修改代码
数据库这东西别人没办法帮你

君苏依寂 发表于 2021-7-1 10:00:59

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

多谢批评,这是冷月让我改的,我改了半天也没弄好,上CSDN上搜索说的是相对路径不一样,我也不知道该怎么改,于是我就想上论坛上寻求帮助吧,这个应该是冷月自己写的,应该没有数据库。
页: [1]
查看完整版本: 信息添加修改报错