Python 使用 mvc - sqlite 数据库而不是通过 id 检索单行,检索整个 table

Python with mvc - sqlite database instead of retrieving single row by id, retrieving whole table

我已经编写了应该使用员工 ID 从数据库中检索一些员工数据的函数。不幸的是,该函数确实检索了数据,但它检索的不是一名员工,而是整个 table。我该如何解决?

型号

    def get_employee_data_by_id(self, id):
    connection = sqlite3.connect("employees_database.db")
    cursor = connection.cursor()
    cursor.execute("""
        SELECT name, surname from employees WHERE ID = id"""), (id)

    data = cursor.fetchall()

    connection.commit()
    cursor.close()
    connection.close()
    return data

控制器

    def get_employee_data_by_id(self, id):
    data = self.model.get_employee_data_by_id(id)
    print(type(data))

    for i in data:
        self.view.employee_data.append(i)
        print(i)

查看

    def show_frame1(self, event=None):
    self.main_frame.grid_forget()
    self.edit_employee_frame.grid()

    self.controller.get_employee_data_by_id(2)

下面一行(注意(id)cursor.execute(...)外面):

cursor.execute("""
        SELECT name, surname from employees WHERE ID = id"""), (id)

应更改为(使用占位符):

cursor.execute("""SELECT name, surname from employees WHERE ID = ?""", (id,))