May-10-2020, 02:10 PM
(This post was last modified: May-10-2020, 02:10 PM by scratchmyhead.)
I have a program for a motel. Basically the user enters a room number and then the program is supposed to check to see if the room number had already been entered. But when I purposely enter the same room number, it doesn't catch the error but it should. Line 67 is where it compares.
from tkinter import * import tkinter as tk from tkinter import ttk import sqlite3 def enterroomnumber(): enterroom = Toplevel() enterroom.title('Enter Room Inventory') enterroom.geometry("800x800+500+100") global entry1 global my_box global mycombo label1=Label(enterroom, text="Room#") label1.place(x=10, y=10) entry1 = Entry(enterroom, width=10) entry1.place(x=70, y=10) options = [ "Select Room Type", "NQ1 - Non Smoking Queen", "NQQ1 - Non Smoking Double Queen", "Q11 - Smoking Queen", "QQ1 - Smoking Double Queen", "NK1 - Non Smoking king", "K11 - Smoking King", "PNQ1 - Non Smoking Handi-Cap", "SK1 - Smoking Suit King", "SNK1 - Non Smoking Suite King", ] mycombo = ttk.Combobox(enterroom, width=40, value=options) mycombo.place(x=10, y=40) mycombo.current(0) my_box = Listbox(enterroom, height=30, width=30) my_box.place(x=500, y=20) boxlabel=Label(enterroom, text="Rooms Already Entered") boxlabel.place(x=500, y=0) conn = sqlite3.connect('roominventory.db') c = conn.cursor() c.execute("SELECT * FROM rooms") records = c.fetchall() for record in records: my_box.insert(END, record[0:1]) conn.commit() conn.close() entry1.focus() btnenterroom = Button(enterroom, text="Enter Room", width=10, command=setroom) btnenterroom.place(x=10, y=70) def setroom(): conn = sqlite3.connect('roominventory.db') c = conn.cursor() c.execute("SELECT * FROM rooms") records = c.fetchall() for record in records: if entry1.get()==record[0]: messagebox.showwarning("Warning!", "You already entered this room#.", parent=enterroom) jamin = mycombo.get()[0:4] jamin = jamin.strip() e2 = "" for x in range(0, 50): e2 = my_box.get(x) if e2[0:2] == "": break conn = sqlite3.connect('roominventory.db') c = conn.cursor() c.execute("INSERT INTO rooms VALUES (:number, :type, :rate, :vacant, :clean, :ooo, :r1, :r2, :r3, :r4, :r5)", { 'number': entry1.get(), 'type': jamin, 'rate': 0, 'vacant': "Y", 'clean': "Y", 'ooo': "N", 'r1': "N", 'r2': "N", 'r3': "N", 'r4': "N", 'r5': 0, } ) conn.commit() conn.close() my_box.delete(0, END) conn = sqlite3.connect('roominventory.db') c = conn.cursor() c.execute("SELECT * FROM rooms") records = c.fetchall() for record in records: my_box.insert(END, record[0:2]) conn.commit() conn.close() mycombo.set("Select Room Type") entry1.delete(0, END) entry1.focus() root = Tk() root.geometry("400x400") btn1=Button(root, text="Click to enter room", command=enterroomnumber) btn1.pack() root.mainloop()