Python Forum
How to implement the if then else statement properly.
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to implement the if then else statement properly.
#1
I have a small program that enters room numbers of a motel. Basically what I want to achieve is to not re-enter the room twice into the database. It's not working. I have the if then else statements but they way I have them, it's not working. If you test the program, enter room numbers like 101 102 and so forth. Any help would be appreciated.


from tkinter import *
import tkinter as tk
from tkinter import ttk
import sqlite3
from tkinter import messagebox

def enterroom():
    global enterroom
    enterroom = Tk()
    enterroom.title('Enter Room Inventory')
    enterroom.geometry("800x800+500+100")

    global entry1
    global my_box
    global mycombo
    global j

    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=40)
    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:2])

    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]:  #IF room is already in database, then don't put into database
            messagebox.showwarning("Warning!", "This room is already entered.", parent=enterroom)

        else:
            #Put room into database===================
            jamin = mycombo.get()[0:4]
            jamin = jamin.strip()
            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.state('zoomed')
root.title('Hotel King Ver 1.8')

btn1=Button(root, text="Click to enter room", command=enterroom)
btn1.pack()

conn = sqlite3.connect('roominventory.db')
c = conn.cursor()
c.execute("""CREATE TABLE IF NOT EXISTS rooms (
                  number integer,
                  type text,
                  rate real,
                  vacant text,
                  clean text,
                  ooo text,
                  r1 text,
                  r2 text,
                  r3 text,
                  r4 text,
                  r5 integer
                )""")

conn.commit()
conn.close()




root.mainloop()
Reply


Messages In This Thread
How to implement the if then else statement properly. - by scratchmyhead - May-16-2020, 05:46 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to implement the if statement properly scratchmyhead 0 1,372 May-12-2020, 09:21 AM
Last Post: scratchmyhead

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020