Невозможно заполнить список Tkinter из базы данных sqlite3 - PullRequest
0 голосов
/ 05 января 2019

Я делаю простой графический интерфейс Tkinter в python 3.6.6 и не могу получить данные из базы данных для заполнения списка.

Изображение: https://imgur.com/sMou0MQ

В чем моя проблема? Когда я хочу заполнить список существующими данными из базы данных sqlite3, я нажимаю кнопку «Обновить данные» и сталкиваюсь с ошибкой. Мой код должен выбрать все строки в первом двоеточии и поместить все в список. Важные строки кода приведены ниже:

db_conn = sqlite3.connect("dbs/entries.db")
cursor = db_conn.cursor()

def updateListbox(self):
    #Delete items in the list box
    self.listOfEntries.delete(0, "END")

    #Get users from the db
    try:

        result = self.cursor.execute("SELECT Name FROM Entries")

        # Receive a list of lists that hold the result
        for row in result.fetchall():
            name = row[0]


        # Put the student in the list box
        self.listOfEntries.insert(name)

    except sqlite3.OperationalError:
        print("The Table Doesn't Exist")

    except:
        print("1: Couldn't Retrieve Data From Database")

Каждый раз, когда я нажимаю кнопку «Обновить данные», я получаю сообщение об ошибке «1: Не удалось получить данные из базы данных». Результат моего кода должен просто заполнить список.

1 Ответ

0 голосов
/ 05 января 2019

Похоже, ваше "имя" является просто переменной и в каждом цикле обновляет свое значение ... поэтому я думаю, что вам нужно переместить «self.listOfEntries.insert (name)» внутри цикла. поскольку у вас есть только покажет фамилию в списке.

лучший

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