Python не получает данные из таблицы MySQL - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь извлечь entry_time из таблицы mysql (с именем пользователя), а затем найти разницу во времени между now (exitTime) и entry_time.Мой код не восстанавливает данные из таблицы MySQL.f - это ключ поиска идентификатора для кода, который выполняет поиск по идентификатору (PRIMARY KEY) базы данных mysql, чтобы найти соответствующее entry_time.

Я также попытался принять его как строку, чтобы посмотреть, смогу ли я получитьзначение, но безрезультатно.

from tkinter import *
import time,datetime
import mysql.connector as mc
from tkinter import messagebox
import cv2
import matplotlib.pyplot as  plt
import sys
import time





def billCalc():
    global exitTime
    global EntryTime
    EntryTime = datetime.datetime
    exitTime = datetime.datetime.now()
    try:
        conn = mc.connect(host='localhost', user='root', password='', db='car_park_master')

    except mc.Error as e:
        print("Error %d: %s" % (e.args[0], e.args[1]))
        sys.exit(1)


        sql_Query = "SELECT `entry_time` FROM `user` WHERE `ID` ="+f.get()
        #id = (f.get(),)
        print(record[1])
        cursor = conn.cursor(buffered=True)
        cursor.execute(sql_Query, id)
        record = cursor.fetchone()
        # selecting column value into varible
        EntryTime = datetime(record[1])
        print(record[1])




    conn.close()
    print(exitTime)
    print(EntryTime)
    print(f.get())
    BillTime = EntryTime - exitTime
    Bill = BillTime * 2
    print(Bill.get())




def main_screen():





    screen = Tk()
    screen.geometry("300x400")
    screen.title("EXIT GATE")


    global f
    f = StringVar()

    Entry(screen, textvariable=f).place(x=150, y=200)

    print(f.get())


    Button(screen,text="Exit",height='2',width='15',command=billCalc).place(x=150,y=300)
    screen.mainloop()

main_screen()

Предполагается, что для завершения времени используется datetime.datetime.now ().Тогда предполагается, что пользователь использует идентификатор входа для поиска в базе данных.После этого предполагается извлечь соответствующее время входа. Найдите разницу между временем входа и временем выхода в секундах. Затем предоставьте счет.

РЕДАКТИРОВАННЫЙ И ФИКСИРОВАННЫЙ КОД:

from tkinter import *
import datetime
import mysql.connector as mc
from tkinter import messagebox
import cv2
import matplotlib.pyplot as  plt
import sys
import time






def billCalc():
    global exitTime
    global EntryTime
    EntryTime = datetime.datetime
    exitTime = datetime.datetime.now()
    try:
        conn = mc.connect(host='localhost', user='root', password='', db='car_park_master')

    except mc.Error as e:
        print("Error %d: %s" % (e.args[0], e.args[1]))
        sys.exit(1)



    cursor = conn.cursor()

    cursor.execute("SELECT entry_time FROM user where id="+f.get())
    record = cursor.fetchone()
    EntryTime = (record[0])



    conn.close()
    print(exitTime)
    print(EntryTime)
    print(f.get())

    BillTime = exitTime - EntryTime


    print(BillTime)




def main_screen():





    screen = Tk()
    screen.geometry("300x400")
    screen.title("EXIT GATE")


    global f
    f = StringVar()

    Entry(screen, textvariable=f).place(x=150, y=200)

    print(f.get())


    Button(screen,text="Exit",height='2',width='15',command=billCalc).place(x=150,y=300)
    screen.mainloop()

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