从类中的sql填充一个输入框

2024-04-25 19:37:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用从sql表中提取的数据在类中的输入框中填充默认值,但遇到了麻烦。我将SQL查询拉到类外部,然后尝试使用全局变量访问类中的变量。然后使用set()在输入框中设置全局变量。对我所缺少的任何见解都非常感激。编辑:我将其更新为反映建议的代码更改的更正代码。这个代码现在起作用了。你知道吗

# Data Audit GUI
import pandas as pd
import numpy as np
import pandas.io.sql as psql
import pyodbc

from tkinter import *
from tkinter.ttk import *
root = Tk()

cnxn = pyodbc.connect("DRIVER={SQL Server};""SERVER=xxxx;DATABASE=xxxx;""trusted_connection=yes;")

sql = """
SELECT title
FROM dbo.jobtable
WHERE jobid=4001
"""
Job = psql.read_sql(sql, cnxn)
Pyjobtitle = StringVar()
Pyjobtitle = Job['title'].values[0]

class Application(Frame):
    def __init__(self, master):
    Frame.__init__(self,master)
    self.grid()
    self.create_widgets()

    def create_widgets(self):

        global Pyjobtitle
        self.ClassJobTitle = StringVar()
        self.JobTitle = Entry(root, width = 45, text = self.ClassJobTitle) # Job Title
        self.JobTitle.grid(row = 2, column = 0, columnspan = 1, rowspan = 1, sticky = W)
        self.ClassJobTitle.set(Pyjobtitle)

app = Application(root)
root.mainloop()

Tags: 代码importselfpandassqlasjobroot