【问题标题】:Python/Pylance throws unexpected error "conn" is possibly unbound?Python/Pylance 抛出意外错误“conn”可能未绑定?
【发布时间】:2022-12-11 05:21:44
【问题描述】:

我目前正在从事一个几乎按预期工作的 Python/SQL 项目,但让我有些头疼,我现在正试图解决一些可能的关键问题。在以下代码中,我从 Pylance 收到错误消息,指出“conn”可能未绑定:

def i_delete(self):
        i_delete = messagebox.askyesno("Hotel Management System", "Do you want to delete this customer?", parent = self.root)
        if i_delete > 0:
            conn = mysql.connector.connect(host = "localhost", username = "root", password = "admin", database = "hotel_management_system_software_database")
            my_cursor = conn.cursor()
            query = "DELETE FROM hotel_management_system_software_room_table WHERE contact_room_mysql_column = %s"
            value = (self.contact_var.get(),)
            my_cursor.execute(query, value)
        else:
            if not i_delete:
                return
        conn.commit()
        self.i_fetch_data()
        conn.close()

如果有人可以解决此错误,我将不胜感激!

起初,我认为这可能是缩进问题,但如果我将最后 3 行缩进 1 个制表符,那就更麻烦了!

我确实用谷歌搜索了错误,但不幸的是没有找到合适的解决方案!

【问题讨论】:

    标签: python


    【解决方案1】:

    conn 仅在 i_delete > 0 为真时才分配,但稍后您尝试提交并关闭它。我认为您也需要将这些移动到条件块,您应该很好。这也会让你摆脱这个无用的else分支

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 2022-06-30
      相关资源
      最近更新 更多