0
我使用python和SQL爲客戶帳戶創建數據庫。我正在嘗試更新客戶的詳細信息。我已經完成了我認爲會更新表的內容,但是當我打印內容時沒有任何改變。請你能告訴我哪裏出錯了嗎?Python- SQL更新操作;沒有錯誤,但實際上並沒有更新我的數據庫
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)
nameChange1應該是參數太多。 – Matthias 2013-04-11 13:01:50
@Matthias,是的,在閱讀你的文章之前修復;)dank! – danihp 2013-04-11 13:03:35
我已經嘗試添加這些參數,但遇到了錯誤,嘗試再次嘗試,並得到相同的錯誤。在Tkinter回調中的異常 Traceback(最近一次調用的最後一個): 文件「J:\」文件「C:\ Python32 \ lib \ tkinter \ __ init__.py」,行1399,__call__中的返回self.func(* args) 。大學\ U08007 \ D \ SQL_Lanyard_GUI1.py「,第343行,在update_Customer WHERE customer_id ='CusNo'」「」,(nameChange1,CusNo,)) sqlite3.ProgrammingError:提供的綁定數量不正確當前語句使用0 ,並提供2個。 – user2258597 2013-04-12 22:36:28