Как бы сказать повежливей. Когда делается SQL-запрос, подразумевается, что тот кто его делает, знает структуру таблиц, а не наугад “select * from foo”. Это раз. Использовать Qt-шный интерфейс к БД в Python, когда есть Python DB API нужно осмысленно. Соответственно, иметь представление, что это биндинг к C++-библиотеке, и API отнюдь не pythonic. И что нужно искать в
документации к Qt. Это два. Ну и желательно приводить полный код программы, это три.
#!/usr/bin/python
# encoding: utf-8
from PyQt4 import QtSql
db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('dev.sqlite')
db.open()
query = QtSql.QSqlQuery('SELECT * FROM pyobject_models_project_version')
query.exec_()
while query.next():
print u“-”*10
rec = query.record()
for idx in xrange(rec.count()):
print u“%s: %s” % (unicode(rec.fieldName(idx)),
unicode(rec.value(idx).toString()))
db.close()
$ ./pyqtsql.py
----------
version: 0.2.1
released_at: 2007-02-27 21:08:00.0
url: http://cheeseshop.python.org/pypi/pytils/0.2.1
id: 1
project_id: 1
----------
version: 0.0.1-dev_r98
released_at: 2007-06-17 00:01:14.0
url: http://cheeseshop.python.org/pypi/YDbf/0.0.1dev-r98
id: 2
project_id: 2