Как проверить, пуст ли курсор pyodb c? - PullRequest
0 голосов
/ 26 мая 2020

с использованием pyodb c для запроса базы данных MySQL с помощью SELECT. Мне нужно определить, вернул ли запрос что-либо или нет, я обнаружил, что люди использовали количество строк, однако после некоторого тестирования он всегда возвращает -1 для меня. Я нашел это в github wiki для курсора, который, как мне кажется, описывает мою проблему.

rowcount Количество строк, измененных последним оператором SQL.

Это -1, если нет SQL было выполнено или количество строк неизвестно. Обратите внимание, что базы данных нередко сообщают -1 сразу после оператора SQL select из соображений производительности. (Точное число может быть неизвестно до того, как в приложение будут возвращены первые записи.)

Мне интересно, есть ли способ обойти это или есть другой способ сделать это, спасибо .

1 Ответ

1 голос
/ 01 июня 2020

Я всегда проверяю длину возвращаемых результатов

res = newcursor.fetchall ()
if len (res) == 0: ## означает отсутствие результатов

...