Вставка Python MYSQL в программу базы данных не работает - PullRequest
0 голосов
/ 20 мая 2019

Привет всем, я делаю программу на Python, где программа с графическим интерфейсом для ввода данных для поля SQL и сохраняет его в базе данных SQL, но он не работает

from tkinter import *
import mysql.connector
def insert():
    ins1 = mysql.connector.connect(host="localhost",user="root",passwd="hello", database = 'booking')   
    e=ins1.cursor()
    r = "INSERT INTO bus VALUES('z1','z2','z3','z4','z5','z6')"
    e.execute(r)
    ins1.commit()
    z1 = e1.get()
    z2 = e2.get()
    z3 = e3.get()
    z4 = e4.get()
    z5 = e5.get()
    z6 = e6.get()
    print(mycursor.rowcount, "record inserted.")

a = Tk()
a.geometry('250x250')
e1 = Entry(a)
e2 = Entry(a)
e3 = Entry(a)
e4 = Entry(a)
e5 = Entry(a)
e6 = Entry(a)
l1 = Label(a,text = 'Bus No')
l2 = Label(a,text = 'Bus Name')
l3 = Label(a,text = 'Bus Boarding')
l4 = Label(a,text = 'Bus Destination')
l5 = Label(a,text = 'Bus Distance')
l6 = Label(a,text = 'Bus Fare')

b1 = Button(a, text = 'insert',command = insert)
e1.grid(column = 2 , row = 1,sticky = N+S)
e2.grid(column = 2 , row = 2,sticky = N+S)
e3.grid(column = 2 , row = 3,sticky = N+S)
e4.grid(column = 2 , row = 4,sticky = N+S)
e5.grid(column = 2 , row = 5,sticky = N+S)
e6.grid(column = 2 , row = 6,sticky = N+S)
l1.grid(column = 1 , row = 1,sticky = N+S)
l2.grid(column = 1 , row = 2,sticky = N+S)
l3.grid(column = 1 , row = 3,sticky = N+S)
l4.grid(column = 1 , row = 4,sticky = N+S)
l5.grid(column = 1 , row = 5,sticky = N+S)
l6.grid(column = 1 , row = 6,sticky = N+S)

b1.grid(column = 2 , row = 7)
a.mainloop()

кто-нибудь, пожалуйста, помогите мнекогда я получаю сообщение об ошибке о том, что оно не введено !!!

сообщение об ошибке

Exception in Tkinter callback
Traceback (most recent call last):
  File "E:\Python\Anaconda\lib\site-packages\mysql\connector\connection_cext.py", line 395, in cmd_query
    raw_as_string=raw_as_string)
_mysql_connector.MySQLInterfaceError: Incorrect integer value: 'z1' for column 'B_No' at row 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "E:\Python\Anaconda\lib\tkinter\__init__.py", line 1702, in __call__
    return self.func(*args)
  File "E:/Python/programs/sql/entry.py", line 13, in insert
    e.execute("INSERT INTO bus VALUES('z1','z2','z3','z4','z5','z6')")
  File "E:\Python\Anaconda\lib\site-packages\mysql\connector\cursor_cext.py", line 266, in execute
    raw_as_string=self._raw_as_string)
  File "E:\Python\Anaconda\lib\site-packages\mysql\connector\connection_cext.py", line 398, in cmd_query
    sqlstate=exc.sqlstate)
mysql.connector.errors.DatabaseError: 1366 (HY000): Incorrect integer value: 'z1' for column 'B_No' at row 1

помогите мне решить проблему

...