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

2024-06-17 09:31:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了一个函数,该函数应该使用employee ID从数据库中检索一些employee数据。不幸的是,该函数确实检索数据,但它检索的不是一个employee,而是整个表。我怎样才能修好它

型号

    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)

1条回答
网友
1楼 · 发布于 2024-06-17 09:31:50

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

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

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

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

相关问题 更多 >