PyQt问题中非常基本的SQL查询

时间:2012-05-03 05:05:18

标签: sql pyqt4

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

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

例如,如果我从表'user'查询3个记录。如何访问每条记录并将它们作为普通的python字符串而不是QtString返回?

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

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

1 个答案:

答案 0 :(得分: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字符串。