【问题标题】:How to get a record in database with sqlite3?如何使用 sqlite3 获取数据库中的记录?
【发布时间】:2020-05-04 20:29:26
【问题描述】:

我想在我尝试过的数据库中获取特定记录:

cursor.execute('SELECT email FROM user WHERE email = ?', (str(self.email),)) 

它总是返回 None。

也试过了

cursor.execute("SELECT email FROM user WHERE email = ?", (self.email,)) 

这给出了一个错误

sqlite3.InterfaceError:错误绑定参数 0 - 可能 不支持的类型

任何帮助将不胜感激。

【问题讨论】:

    标签: python-3.x database sqlite


    【解决方案1】:

    假设:users.email 是 TEXT 列,“email”表示电子邮件地址,如 someone@example.com

    第二次查询的结果表明self.email 不是字符串。

    第一次查询的结果表明self.email被强制为字符串后,结果与用户表中的任何email都不匹配。

    从发布的内容来看,只能假设self.email 不是

    【讨论】:

    • 是的,users.email 是一个 TEXT,但是当它没有将它转换为字符串时,它给出了一个关于类型的错误,这让我感到困惑
    • self.email 是什么类型。这就是问题的根源。
    • 这是一个条目。我正在实现一个包含电子邮件字段的注册表单,因此我将用户输入的值存储在此变量self.email = Entry(self.register_window)
    • 我不知道Entry 是什么,但它不是电子邮件地址。
    • Entry 是一个小部件,用于提供单行文本框以接受来自用户的值。它接受来自用户的文本字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多