0

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

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

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

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

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

1 回答 1

2

您要求访问每条记录并将它们作为字符串返回,但我认为您的意思是将每条记录的字段作为字符串返回?每条记录都是一个包含查询字段的对象。在这种情况下,您要求用户提供 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 字符串。

于 2012-05-03T05:20:04.460 回答