Oct-09-2021, 07:35 AM
Hi all I am getting this error" Not all parameters were used in the SQL statement" when I try to insert values in mysql database through a Tkinter GUI. Can somebody help. here is my code
import tkinter as tk
from tkinter import*
import mysql.connector
from tkinter import messagebox
mydb= mysql.connector.connect(host="localhost",user="root", password="mudit",database="Clinicmaster",auth_plugin="mysql_native_password")
cursor=mydb.cursor()
def clinic():
clinic_id=ent1.get()
clinic_name=ent2.get()
clinic_address=ent3.get()
clinic_city=ent4.get()
clinic_state=ent5.get()
clinic_phone=ent6.get()
clinic_email=ent7.get()
clinic_website=ent8.get()
sql=("INSERT INTO dentalclinic(clinic_id,clinic_name,clinic_address,clinic_city,clinic_state,clinic_phone,clinic_email,clinic_website)" "VALUES(%s,%s,s%,s%,%s,%s,s%,s%)" )
cursor.execute(sql,(clinic_id,clinic_name,clinic_address,clinic_city,clinic_state,clinic_phone,clinic_email,clinic_website))
mydb.commit()
messagebox.showinfo("Confirmation","Clinic Added")
print("DONE")
return True
cursor.execute('select count(*) from dentalclinic')
next_num = cursor.fetchall()[0][0]
win=Tk()
win.title("ADD Clinic")
win.geometry("500x600")
win.configure(background='light blue')
win.resizable(False,False)
#frm1=Frame(win,bg="light blue")
#frm1.pack(side=tk.LEFT,padx=20)
var1=StringVar()
clinic_id=StringVar()
var2=StringVar()
clinic_name=StringVar()
var3=StringVar()
clinic_address=StringVar()
var4=StringVar()
clinic_city=StringVar()
var5=StringVar()
clinic_state=StringVar()
var6=StringVar()
clinic_phone=StringVar()
var7=StringVar()
clinic_email=StringVar()
var8=StringVar()
clinic_website=StringVar()
##cursor.execute('select (clinic_name) from dentalclinic')
##cname=cursor.fetchall()
#cname=StringVar()
#cname.set(sql1)
label= Label(win,text= "Clinic Details",font=('Helvetica 20 italic'),bg="light blue")
label.grid(row=0,column=2,padx=10,pady=10)
#var1['value']=c_name
label1=Label(win,textvariable=var1,bg="light blue")
var1.set("Clinic ID. ")
label1.grid(row=2,column=1,padx=10,pady=10)
ent1=Entry(win,textvariable=clinic_id,width=10)
clinic_id.set(next_num+1)
ent1.grid(row=2,column=2,sticky=tk.W,padx=10,pady=10)
label2=Label(win,textvariable=var2,bg="light blue")
var2.set("Clinic Name")
label2.grid(row=3,column=1,padx=10,pady=10)
ent2=Entry(win,textvariable=clinic_name,width=40)
clinic_name.set(" ")
ent2.grid(row=3,column=2,padx=10,pady=10)
label3=Label(win,textvariable=var3,bg="light blue")
var3.set("Address")
label3.grid(row=4,column=1,padx=10,pady=10)
ent3=Entry(win,textvariable=clinic_address,width=40)
clinic_address.set(" ")
ent3.grid(row=4,column=2,padx=10,pady=10)
label4=Label(win,textvariable=var4,bg="light blue")
var4.set("City")
label4.grid(row=5,column=1,padx=10,pady=10)
ent4=Entry(win,textvariable=clinic_city,width=40)
clinic_city.set(" ")
ent4.grid(row=5,column=2,padx=10,pady=10)
label5=Label(win,textvariable=var5,bg="light blue")
var5.set("State")
label5.grid(row=6,column=1,padx=10,pady=10)
ent5=Entry(win,textvariable=clinic_state,width=40)
clinic_state.set(" ")
ent5.grid(row=6,column=2,padx=10,pady=10)
label6=Label(win,textvariable=var6,bg="light blue")
var6.set("Phone No.")
label6.grid(row=7,column=1,padx=10,pady=10)
ent6=Entry(win,textvariable=clinic_phone,width=40)
clinic_phone.set(" ")
ent6.grid(row=7,column=2,padx=10,pady=10)
label7=Label(win,textvariable=var7,bg="light blue")
var7.set("Email")
label7.grid(row=8,column=1,padx=10,pady=10)
ent7=Entry(win,textvariable=clinic_email,width=40)
clinic_email.set(" ")
ent7.grid(row=8,column=2,padx=10,pady=10)
label8=Label(win,textvariable=var8,bg="light blue")
var8.set("Website")
label8.grid(row=9,column=1,padx=10,pady=10)
ent8=Entry(win,textvariable=clinic_website,width=40)
clinic_website.set(" ")
ent8.grid(row=9,column=2,padx=10,pady=10)
##def clear_text():
## workrequired.set(' ')
## cursor.execute('select count(*) from workrequired')
## next_num = cursor.fetchall()[0][0]
## srno.set(next_num+1)
btn=Button(win, text="ADD",command= lambda:[clinic(), clear_text()])
btn.grid(row=10,column=2,padx=10,pady=10)
win.mainloop()The error messageOutput:Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:43:08) [MSC v.1926 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
== RESTART: C:\Users\INDIAN\Desktop\python exercises\order form\add clinic.py ==
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\INDIAN\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:\Users\INDIAN\Desktop\python exercises\order form\add clinic.py", line 141, in <lambda>
btn=Button(win, text="ADD",command= lambda:[clinic(), clear_text()])
File "C:\Users\INDIAN\Desktop\python exercises\order form\add clinic.py", line 21, in clinic
cursor.execute(sql,(clinic_id,clinic_name,clinic_address,clinic_city,clinic_state,clinic_phone,clinic_email,clinic_website))
File "C:\Users\INDIAN\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mysql\connector\cursor.py", line 559, in execute
raise errors.ProgrammingError(
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement
