ユーザーがログインボタンをクリックすると "Employee"テーブルが検索され、入力されたIDがテーブルに見つからない場合にエラーメッセージが表示されるように、しかし、私はこのエラーを受け取る印刷維持される -TkinterでボタンをクリックしてSQL検索を実行
"Tkinterのコールバックの例外 トレースバック(最新の呼び出しの最後): ファイル" C:\ Users \ユーザーユーザー\のAppData \ローカル\プログラム\ Pythonの\ Python36-32を(* args) TypeError:login()missing 1必要な位置引数: 'id' "
from tkinter import *
import sqlite3
global employeeIDVar
win = Tk()
img = PhotoImage(file = 'download_1_.gif')
imgLbl = Label (win, image = img)
frame1=Frame(win)
frame1.pack()
Label(frame1, text="Welcome to the system!",font=('Comic Sans MS',18)).grid(row=0, column=1)
Label(frame1, text="EmployeeID").grid(row=1, column=0, sticky=W)
employeeIDVar=IntVar(win)
eID= Entry(frame1, textvariable=employeeIDVar)
eID.grid(row=1,column=1,sticky=W)
frame2 = Frame(win)
frame2.pack()
b1= Button(frame2, text=" Login ")
b2= Button(frame2, text=" Quit ")
b1.pack(side=LEFT); b2.pack(side=LEFT)
def login(id):
with sqlite3.connect("comicBookGuys.db") as db:
cursor = db.cursor()
cursor.execute ("select employeeID, numberOfSales, salesTarget from Employee where employeeID=?", (id,))
dataFound = cursor.fetchone()
return dataFound
if not dataFound:
messagebox.showinfo("No such employeeID found! Try again.")
def logEnd():
exit()
b1.configure(command=login)
b2.configure(command=logEnd)
win.mainloop()
win.mainloop()
エラーが一目瞭然になります。あなたは、パラメータを必要とするため、 'login'を定義しましたが、ボタンはそのパラメータを渡していません。 –
たびにパラメータを取得しようとしました - sqlite3.InterfaceError:パラメータ0のバインディングでエラーが発生しました - おそらくサポートされていないタイプです。 –