【发布时间】:2020-04-23 14:25:49
【问题描述】:
当我想从我的 tkinter 程序的条目中插入数据时,我目前遇到了这个错误。我不知道错误是什么,我无法理解这个错误。
from tkinter import *
from tkinter import messagebox as ms
from tkinter import ttk
import sqlite3
from PIL import Image,ImageTk
import datetime
with sqlite3.connect('Gym.db') as db:
c = db.cursor()
c.execute('CREATE TABLE IF NOT EXISTS PaymentInfo (FirstName TEXT, LastName TEXT, CardNumber TEXT NOT NULL, NameCard TEXT NOT NULL, ExpiryDate TEXT NOT NULL, CVC TEXT NOT NULL);')
class main:
def __init__(self,master):
self.master = master
# Some Usefull variables
self.FirstName = StringVar()
self.LastName = StringVar()
self.n_FirstName = StringVar()
self.n_LastName = StringVar()
self.CardNumber = StringVar()
self.NameCard = StringVar()
self.ExpiryDate = StringVar()
self.cvc = StringVar()
self.n_CardNumber = StringVar()
self.n_NameCard = StringVar()
self.n_ExpiryDate = StringVar()
self.n_cvc = StringVar()
def payment_insert(self):
with sqlite3.connect('Gym.db') as db:
c = db.cursor()
sql2 = "INSERT INTO 'PaymentInfo' (FirstName, LastName,CardNumber,NameCard,ExpiryDate,CVC) VALUES (?,?,?,?,?,?)"
c.execute(sql2,(self.n_FirstName.get(),self.n_LastName.get(),self.n_CardNumber.get(),self.n_NameCard.get(),self.n_ExpiryDate,self.n_cvc.get()))
db.commit()
db.close()
【问题讨论】:
-
self.n_ExpiryDate在c.execute(sql2, ....)中应该是self.n_ExpiryDate.get()。