Python-SQL更新操作;没有错误,但没有';我没有更新我的数据库
我正在使用python和SQL为客户帐户创建数据库。我试图提供更新客户详细信息的选项。我已经做了我认为会更新表格的事情,但当我打印内容时,什么都没有改变。你能告诉我哪里出了问题吗Python-SQL更新操作;没有错误,但没有';我没有更新我的数据库,python,sql,sql-update,Python,Sql,Sql Update,我正在使用python和SQL为客户帐户创建数据库。我试图提供更新客户详细信息的选项。我已经做了我认为会更新表格的事情,但当我打印内容时,什么都没有改变。你能告诉我哪里出了问题吗 def update_Customer(self): # create sqlite connection conn = sqlite3.connect("lanyard.db", timeout=5) c = conn.cursor() # if texfiel
def update_Customer(self):
# create sqlite connection
conn = sqlite3.connect("lanyard.db", timeout=5)
c = conn.cursor()
# if texfield is empty
if self.TextField1.get() !="":
if self.TextField2.get() != "":
nameChange1 = self.TextField2.get()
CusNo = self.TextField1.get()
c.execute("""
UPDATE customer
SET first_name = 'nameChange1'
WHERE customer_id = 'CusNo'""")
conn.commit()
if self.TextField3.get() != "":
nameChange2 = self.TextField3.get()
CusNo = self.TextField1.get()
c.execute("""
UPDATE CUSTOMER
SET second_name = 'nameChange2'
WHERE customer_id = 'CusNo'""")
conn.commit()
if self.TextField4.get() == "":
nameChange3 = self.TextField4.get()
CusNo = self.TextField1.get()
c.execute("""
UPDATE CUSTOMER
SET address = 'nameChange3'
WHERE customer_id = 'CusNo'""")
conn.commit()
conn.commit()
c.close()
# clear input
self.TextField1.delete(0, END)
self.TextField2.delete(0, END)
self.TextField3.delete(0, END)
self.TextField4.delete(0, END)
代码不完整。我假设这个类有createtable函数。 此外,请查看的返回值
c.execute
你忘了:
nameChange1也应该是一个参数。我已经尝试在中添加这些参数,但出现了一个错误,在您尝试时再次尝试,并出现了相同的错误。Tkinter回调回溯中的异常(最近一次调用最后一次):在调用返回self.func(*args)文件“J:\University\U08007\D\SQL\u Lanyard\u GUI1.py”第343行中的文件“C:\Python32\lib\Tkinter\u init\uuu.py”,第1399行,在“客户id='CusNo'”(名称更改1,CusNo,))sqlite3.ProgrammingError:提供的绑定数不正确。当前语句使用0,提供了2个绑定。
nameChange1 = self.TextField2.get()
CusNo = self.TextField1.get()
c.execute("""
UPDATE customer
SET first_name = ?
WHERE customer_id = ?""", (nameChange1, CusNo,) )