ФорумПрограммированиеPython → Вывод данных из таблицы

Вывод данных из таблицы

  • Ruslan320

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 26 марта 2017 г. 13:58

    Здравствуйте, помогите дополнить код.
    Надо чтобы можно было в ent3 вводить название столбца, а в ent4 значение, и в label6 выводились строки только с подходящими параметрами.
    Заранее большое спасибо!

    from tkinter import *
    
    import sqlite3 as lite
    import sys
    
    def s(entry):
        xok = str(ent1.get())
        con = lite.connect(xok)
        table_name = entry.get()
        with con:
            cur = con.cursor()
            cur.execute("SELECT * FROM {}".format(table_name.upper()))
            text = ''
            while True:
                row = cur.fetchone()
                if row == None:
                    break
                for col in row:
                    text += str(col) + " | "
                text += "\n"
            label1["text"] = text
    
    def t(entry):
        NA = str(ent3.get())
        xoook = str(ent4.get())
        xok = str(ent1.get())
        con = lite.connect(xok)
        table_name = entry.get()
        with con:
            cur = con.cursor()
            cur.execute("SELECT * FROM {} WHERE NAME=:id".format(table_name.upper()), {"id": xoook})
            text = ''
            while True:
                row = cur.fetchone()
                if row == None:
                    break
                for col in row:
                    text += str(col) + " | "
                text += "\n"
            label6["text"] = text
    
    root=Tk()
    root.title("Работа с базой данных")
    
    label = Label(root, text="Название базы данных(с расширением):", font= "Arial 26")
    label.grid(row=0, column=0, columnspan=4)
    ent1 = Entry(root, font= "Arial 20")
    ent1.grid(row=1, column=0, columnspan=4)
    labe2 = Label(root, text="Название таблицы(без расширением):", font= "Arial 26")
    labe2.grid(row=2, column=0, columnspan=4)
    ent2 = Entry(root, font= "Arial 20")
    ent2.grid(row=3, column=0, columnspan=4)
    btn = Button(root, text="OK", font= "Arial 30", bg="red", command = lambda: s(ent2))
    btn.grid(row=4, column=0, columnspan=4)
    label1 = Label(root)
    label1.grid(row=5, column=0, columnspan=4)
    labe3 = Label(root, text="Показать строку", font= "Arial 30")
    labe3.grid(row=6, column=0, columnspan=4)
    labe4 = Label(root, text="где в столбце(название столбца):", font= "Arial 20")
    labe4.grid(row=7, column=0, columnspan=4)
    ent3 = Entry(root, font= "Arial 20")
    ent3.grid(row=8, column=0, columnspan=4)
    labe5 = Label(root, text="есть значение:", font= "Arial 20")
    labe5.grid(row=9, column=0, columnspan=4)
    ent4 = Entry(root, font= "Arial 20")
    ent4.grid(row=10, column=0, columnspan=4)
    btn2 = Button(root, text="OK", font= "Arial 30", bg="red", command = lambda: t(ent2))
    btn2.grid(row=11, column=0, columnspan=4)
    label6 = Label(root)
    label6.grid(row=12, column=0, columnspan=4)
    
    root.mainloop()
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 марта 2017 г. 20:50, спустя 6 часов 51 минуту 59 секунд

    Здравствуйте, помогите дополнить код.

    @Ruslan320, мы не пишем за других людей код, мы можем помочь если у вас проблема и вы "застряли" с чем то, а делать за других людей работу (еще и бесплатно) никому не хочется. Со всем уважением :)

    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!