【问题标题】:Very basic SQL query in PyQt questionsPyQt 问题中非常基本的 SQL 查询
【发布时间】:2012-05-03 13:20:04
【问题描述】:

我发现的所有示例都是使用 PyQt 将数据放入各种视图和表格中。

但我正在尝试做一些非常基本的查询来获取数据并将它们发送到其他一些非 qt 函数。有什么建议吗?

例如,如果我从具有 3 条记录的表“用户”中查询此内容。如何访问每条记录并将它们作为普通 python 字符串而不是 QtString 返回?

db = QtSql.QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName(blah)

query = QtSql.QSqlQuery(db)
query.exec_("SELECT id, password FROM user")

【问题讨论】:

  • 你总是可以转换你的字符串:str(myString)

标签: sql pyqt4


【解决方案1】:

您要求访问每条记录并将它们作为字符串返回,但我认为您的意思是将每条记录的字段作为字符串返回?每条记录都是一个包含查询字段的对象。在这种情况下,您要求用户提供 id 和密码...

while query.next():
    record = query.record()
    id_ = str(record.value("id").toString())
    password = str(record.value("password").toString())
    print id_, password

当 next() 返回 True 时,您可以通过循环来迭代查询。每个循环,您都可以请求 QSqlRecord。使用该记录,您可以询问每个字段的值。每个字段的值都是一个 QVariant。 QVariant 是一个通用容器,它可以容纳不同的类型,所以你必须告诉它给你一个 QString 的值。通过 str(qstring) 可以轻松地将 QString 转换为 python 字符串。因此,您将字段值作为 python 字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 2011-01-30
    • 2011-10-29
    • 2010-12-18
    • 1970-01-01
    相关资源
    最近更新 更多