Python Forum
Error :unable to detect undefined names created in spyder ide error at line 2 - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: Error :unable to detect undefined names created in spyder ide error at line 2 (/thread-20178.html)



Error :unable to detect undefined names created in spyder ide error at line 2 - milind_eac - Jul-30-2019

import pymysql
from tkinter import *
from tkinter import messagebox
def search():
    try:
        con=pymysql.connect(user='root',password='Sanjay1*',host='localhost',database='mydatabase')
        cur=con.cursor()
        sql="select * from student where rollnoo='%s'"%rollno.get()
        cur.execute(sql)
        result=cur.fetchone()
        name.set(result[1])
        age.set(result[2])
        e1.configure(state='disabled')
        con.close()
    except:
        messagebox.showinfo('No data avl')
        clear()
def clear():
    rollno.set('')
    name.set('')
    age.set('')
    e1.configure(state='normal')
def add():
    try:
        con=pymysql.connect(user='root',password='Sanjay1*',host='localhost',database='mydatabase')
        cur=con.cursor()
        sql="insert into student values('%s','%s','%s')"%(rollno.get(),name.get(),age.get())
        cur.execute(sql)
        con.commit()
        con.close()
        messagebox.showinfo('success','Record save...')
    except:
        messagebox.showinfo('Error', 'Error in dataentry')
    finally:
        clear()
def update():
    try:
        con=pymysql.connect(user='root',password='Sanjay1*',host='localhost',database='mydatabase')
        cur=con.cursor()
        sql="update student set name = '%s',age='%s' where rollno='%s'" %(name.get(),age.get(),rollno.get())
        cur.execute(sql)
        con.commit()
        con.close()
        messagebox.showinfo('success','Record updated...')
    except:
        messagebox.showinfo('Error', 'Error in dataentry')
    finally:
        clear()
def delete():
    try:
        con=pymysql.connect(user='root',password='Sanjay1*',host='localhost',database='mydatabase')
        cur=con.cursor()
        sql="delete from student where rollno='%s'" %(rollno.get())
        cur.execute(sql)
        con.commit()
        con.close()
        messagebox.showinfo('success','Record deleted...')
    except:
        messagebox.showinfo('Error', 'Error in dataentry')
    finally:
        clear()
w1=Tk()
w1.title('My App')
w1.geometry('500x200')

ptitle=Label(w1,text='''Program to add, modify, delete the records from student table''')

ptitle.grid(row=0,column=0,columnspan=2)

rollno=StringVar()
name=StringVar()
age=StringVar()

l1=Label(w1,text=' RollNo ')
e1=Entry(w1, textvariable=rollno)
l2=Label(w1,text=' Name ')
e2=Entry(w1, textvariable=name)
l3=Label(w1,text=' Age ')
e3=Entry(w1, textvariable=age)

b1=Button(w1,text=' search ', command=search)
b2=Button(w1,text=' Add    ', command=add)
b3=Button(w1,text=' Update ', command=update)
b4=Button(w1,text=' Delete ', command=delete)
b5=Button(w1,text=' clear  ', command=clear)

l1.grid(row=1,column=0)
e1.grid(row=1,column=1)
b1.grid(row=1,column=2)

l2.grid(row=2,column=0)
e2.grid(row=2,column=1)

l3.grid(row=3,column=0)
e3.grid(row=3,column=1)

b2.grid(row=4,column=0)
b3.grid(row=4,column=1)
b4.grid(row=5,column=0)
b5.grid(row=5,column=1)
w1.mainloop()
Error:
Error :unable to detect undefined names created in spyder ide error at line 2 Error : Tk may be undefined or defined from star imports : tkinter



RE: Error :unable to detect undefined names created in spyder ide error at line 2 - Yoriz - Jul-30-2019

Don't use star imports
https://python-forum.io/Thread-Namespace-flooding-with-imports


RE: Error :name Tk not found - milind_eac - Jul-30-2019

<p>
<br />
import pymysql<br />
from tkinter import messagebox<br />
def search():<br />
    try:<br />
        con=pymysql.connect(user='root',password='Sanjay1*',host='localhost',database='mydatabase')<br />
        cur=con.cursor()<br />
        sql="select * from student where rollnoo='%s'"%rollno.get()<br />
        cur.execute(sql)<br />
        result=cur.fetchone()<br />
        name.set(result[1])<br />
        age.set(result[2])<br />
        e1.configure(state='disabled')<br />
        con.close()<br />
    except:<br />
        messagebox.showinfo('No data avl')<br />
        clear()<br />
def clear():<br />
    rollno.set('')<br />
    name.set('')<br />
    age.set('')<br />
    e1.configure(state='normal')<br />
def add():<br />
    try:<br />
        con=pymysql.connect(user='root',password='Sanjay1*',host='localhost',database='mydatabase')<br />
        cur=con.cursor()<br />
        sql="insert into student values('%s','%s','%s')"%(rollno.get(),name.get(),age.get())<br />
        cur.execute(sql)<br />
        con.commit()<br />
        con.close()<br />
        messagebox.showinfo('success','Record save...')<br />
    except:<br />
        messagebox.showinfo('Error', 'Error in dataentry')<br />
    finally:<br />
        clear()<br />
def update():<br />
    try:<br />
        con=pymysql.connect(user='root',password='Sanjay1*',host='localhost',database='mydatabase')<br />
        cur=con.cursor()<br />
        sql="update student set name = '%s',age='%s' where rollno='%s'" %(name.get(),age.get(),rollno.get())<br />
        cur.execute(sql)<br />
        con.commit()<br />
        con.close()<br />
        messagebox.showinfo('success','Record updated...')<br />
    except:<br />
        messagebox.showinfo('Error', 'Error in dataentry')<br />
    finally:<br />
        clear()<br />
def delete():<br />
    try:<br />
        con=pymysql.connect(user='root',password='Sanjay1*',host='localhost',database='mydatabase')<br />
        cur=con.cursor()<br />
        sql="delete from student where rollno='%s'" %(rollno.get())<br />
        cur.execute(sql)<br />
        con.commit()<br />
        con.close()<br />
        messagebox.showinfo('success','Record deleted...')<br />
    except:<br />
        messagebox.showinfo('Error', 'Error in dataentry')<br />
    finally:<br />
        clear()<br />
w1=Tk()<br />
w1.title('My App')<br />
w1.geometry('500x200')</p>

<p>ptitle=Label(w1,text='''Program to add, modify, delete the records from student table''')</p>

<p>ptitle.grid(row=0,column=0,columnspan=2)</p>

<p>rollno=StringVar()<br />
name=StringVar()<br />
age=StringVar()</p>

<p>l1=Label(w1,text=' RollNo ')<br />
e1=Entry(w1, textvariable=rollno)<br />
l2=Label(w1,text=' Name ')<br />
e2=Entry(w1, textvariable=name)<br />
l3=Label(w1,text=' Age ')<br />
e3=Entry(w1, textvariable=age)</p>

<p>b1=Button(w1,text=' search ', command=search)<br />
b2=Button(w1,text=' Add    ', command=add)<br />
b3=Button(w1,text=' Update ', command=update)<br />
b4=Button(w1,text=' Delete ', command=delete)<br />
b5=Button(w1,text=' clear  ', command=clear)</p>

<p>l1.grid(row=1,column=0)<br />
e1.grid(row=1,column=1)<br />
b1.grid(row=1,column=2)</p>

<p>l2.grid(row=2,column=0)<br />
e2.grid(row=2,column=1)</p>

<p>l3.grid(row=3,column=0)<br />
e3.grid(row=3,column=1)</p>

<p>b2.grid(row=4,column=0)<br />
b3.grid(row=4,column=1)<br />
b4.grid(row=5,column=0)<br />
b5.grid(row=5,column=1)<br />
w1.mainloop()        <br />
            <br />
<br />
Error:
<br /> runfile('D:/PYTHON/menu2.py', wdir='D:/PYTHON')<br /> Traceback (most recent call last):</p> <p>File "<ipython-input-4-f724e182f82d>", line 1, in <module><br /> runfile('D:/PYTHON/menu2.py', wdir='D:/PYTHON')</p> <p>File "C:UsersUserAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 786, in runfile<br /> execfile(filename, namespace)</p> <p>File "C:UsersUserAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 110, in execfile<br /> exec(compile(f.read(), filename, 'exec'), namespace)</p> <p>File "D:/PYTHON/menu2.py", line 61, in <module><br /> w1=Tk()</p> <p>NameError: name 'Tk' is not defined<br />
</p>