У меня есть хранимая процедура MySQL, которая возвращает два набора результатов через QSqlQuery. Я могу получить доступ к обоим наборам результатов, используя nextResult, но не могу установить переменную для этого конкретного набора результатов. Используя метод query.result, я получаю объект QSqlResult, где я могу получить доступ к данным, но я не могу установить его как запрос QTableView, который является конечной целью или каждым набором результатов. Я попробовал метод setQuery и сброс объекта QSqlResult, но не смог заставить его работать (всегда возвращать false). Это будет фрагмент кода:
def test(self):
try:
qry = QSqlQuery()
qry.prepare("CALL procedure_test(?, ?, ?"))
qry.bindValue(firstValue)
qry.bindValue(secondValue)
qry.bindValue(thirdValue)
qry.exec()
if qry.lastError(),type() !=0:
raise DataError("methodName", qry.lastError().text())
qryTable_1 = qry
if qry.nextResult():
qryTable_2 = qry
except DataError as err:
print(err.source, err.message
При использовании ie test = qry.result ( ) Я получил QSqlResult с правильными данными, но не смог превратить его в QSqlquery, используя setActive (false) setQuery ("string") и reset ("string), как предлагается в документации.