【问题标题】:How to get PYQT5 text box to be taken as an input by sqlite? [closed]如何让 PYQT5 文本框作为 sqlite 的输入? [关闭]
【发布时间】:2021-03-17 16:10:16
【问题描述】:

我一直在尝试创建一个注册和登录用户的程序,注册部分应该将详细信息存储到数据库中,但我在从 QT 文本框中获取输入并将其插入时遇到了一些麻烦进入我的数据库。它不接受文本框中的任何输入,所以我尝试使用 qtsql 来帮助我输入数据,但我无法让它工作。

#Register

    def InsertData(self):
        db=QSqlDatabase.addDatabase("QSQLITE")
        db.setDatabaseName("/home/user/test.db")
        if db.open():
            query=QSqlQuery
            query.exec_("INSERT INTO users(email_address,password) VALUES(?,?)",self.password.text,self.email.text)
            db.commit()
            db.close()

【问题讨论】:

  • 您的具体问题是什么?有任何错误信息吗?
  • 我希望我的代码获取文本框输入并将其存储在我的 SQLite 数据库中。没有错误消息,但我的代码没有将值存储到数据库中。
  • 您的代码中至少存在三个错误:您没有创建 QSqlQuery 的实例,也没有收到密码文本和电子邮件,在所有三种情况下,您都错过了() 括号。

标签: python sqlite pyqt pyqt5 qtsql


【解决方案1】:

您无法在 SQL 语句中获取该值,因为您没有调用对象获取密码和电子邮件

试试:

val_password = self.password.text()
val_email = self.email.text()
query.exec_("INSERT INTO users(email_address,password) VALUES(?,?)",val_password, val_email)

我不习惯 qtsql,但是在 sqlite 中你还必须为你的 sql 连接分配一个游标,你可能还想检查一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-27
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 2011-02-08
    • 2018-07-13
    • 2011-07-01
    • 1970-01-01
    相关资源
    最近更新 更多