Неправильный процесс с определениями - PullRequest
0 голосов
/ 30 мая 2019

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

Я попытался проверить запись в SQL и данные в SQL они верны, но он дает сообщение о том, что номер не найден

import tkinter as tk
from tkinter import messagebox
import os
def payment():
    os.system('payment.py')

def chk1():
    no = E5.get()
    chk2(no)
    print(no)
def chk2(a):
    import mysql.connector    

    dbcrd = 'db.WDC'
    with open(dbcrd) as f:
        data = f.readlines() 
        uname = data[0].rstrip() 
        pword = data[1].rstrip()
        lchst = data[2].rstrip()

    mySQLConnection = mysql.connector.connect(host = lchst,user = uname,passwd = pword,database = 'booking')

    cursor = mySQLConnection.cursor()
    sql_select_query = """select B_No from bus where B_No = %s"""
    exn1 = cursor.execute(sql_select_query, (a,))
    exn2 = str(exn1)

    if (E5.get() == exn2):
           payment()
    else:
        messagebox.showerror('Error','The Bus NUmber is not found')

global E5
D1=tk.Tk()
D1.geometry('350x200')

L1 = tk.Label(D1,text='Enter Passenger Name:')
E1 = tk.Entry(D1)
L2 = tk.Label(D1,text='Enter Gender')
E2 = tk.Entry(D1)
L3 = tk.Label(D1,text='Number of seats')
E3 = tk.Entry(D1)
L4= tk.Label(D1,text='Date:')
E4 = tk.Entry(D1) 
L5= tk.Label(D1,text='Bus Number')
E5 = tk.Entry(D1)
L6 = tk.Label(D1,text='Phone Number:')
E6 = tk.Entry(D1)
L7 = tk.Label(D1,text='Aadhar')
E7 = tk.Entry(D1)

L1.grid(column = 1,row= 1)
L2.grid(column = 1,row= 2)
L3.grid(column = 1,row= 3)
L4.grid(column = 1,row= 4)
L5.grid(column = 1,row= 5)
L6.grid(column= 1,row= 6)
L7.grid(column= 1,row= 7)

E1.grid(column = 2,row= 1)
E2.grid(column = 2,row= 2)
E3.grid(column = 2,row= 3)
E4.grid(column = 2,row= 4)
E5.grid(column = 2,row= 5)
E6.grid(column = 2,row= 6)
E7.grid(column = 2,row= 7)

B2=tk.Button(D1,text='Next',width=12,height=1,command =chk1)

B2.grid(column=2,row=8 )
D1.mainloop()

Я ожидаю, что этоработать правильно, как описано выше

1 Ответ

0 голосов
/ 30 мая 2019

Проверьте пример в документации https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-select.html

следующие строки

exn1 = cursor.execute(sql_select_query, (a,))
exn2 = str(exn1)

Должно быть

cursor.execute(sql_select_query, (a,))
buses = cursor.fetchall()
# print to see what you get - list of tuple(s)
print(buses)

Вы можете перебрать курсор или получить только одно значение и т. Д. Прочитайте документы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...