Название: QSqlQuery::size() Отправлено: DiamondRain от Ноябрь 17, 2010, 14:56 Выполняю запрос SELECT. Далее в консоль вывожу size() моей выборки. Результат = -1. Тем не менее, разбирая выборку в цикле, всё отлично выводится. Насчет метода size() в справке написано следующее:
Returns the size of the result (number of rows returned), or -1 if the size cannot be determined or if the database does not support reporting information about query sizes. Note that for non-SELECT statements (isSelect() returns false), size() will return -1. If the query is not active (isActive() returns false), -1 is returned. To determine the number of rows affected by a non-SELECT statement, use numRowsAffected(). Исходя из этого я не нашел ни одного условия, при котором size() должен быть равен -1. Кстати, isActive() возвращает true. Фрагмент используемого кода: Код: QSqlQuery query; Название: Re: QSqlQuery::size() Отправлено: Пантер от Ноябрь 17, 2010, 15:00 Что за БД?
Название: Re: QSqlQuery::size() Отправлено: DiamondRain от Ноябрь 17, 2010, 15:04 Название: Re: QSqlQuery::size() Отправлено: Пантер от Ноябрь 17, 2010, 15:06 Она не поддерживает size.
Название: Re: QSqlQuery::size() Отправлено: DiamondRain от Ноябрь 17, 2010, 15:08 Она не поддерживает size. Спасибо за разъяснение! Есть какая-нибудь замена этому методу? Название: Re: QSqlQuery::size() Отправлено: crossly от Ноябрь 17, 2010, 15:08 select count
Название: Re: QSqlQuery::size() Отправлено: Danila_Bagrofff от Декабрь 17, 2010, 14:32 а у ODBC аналогично не поддерживается size?
Почему-то тоже query.size возвращает -1... Можно поподробнее о SELECT COUNT, приведите простейший пример, пожалуйста. Код: int Query::singleSelect( Название: Re: QSqlQuery::size() Отправлено: crossly от Декабрь 17, 2010, 14:34 потому что гладиолус...
Цитировать int QSqlQuery::size () const Returns the size of the result (number of rows returned), or -1 if the size cannot be determined or if the database does not support reporting information about query sizes. Note that for non-SELECT statements (isSelect() returns false), size() will return -1. If the query is not active (isActive() returns false), -1 is returned. Название: Re: QSqlQuery::size() Отправлено: Danila_Bagrofff от Декабрь 17, 2010, 14:43 Ясно, сам тип БД знач такой =)
А можно поподробнее о SELECT COUNT, приведите простейший пример, пожалуйста. Название: Re: QSqlQuery::size() Отправлено: crossly от Декабрь 17, 2010, 14:44 странно как вы вообще с БД работаете не зная азов sql
Код: select count(*) from <table_name> Название: Re: QSqlQuery::size() Отправлено: Danila_Bagrofff от Декабрь 17, 2010, 14:54 Да я не очень понял, вы про запрос кол-ва строк именно в бд...
а я не вкурил, искал функционал в кутэ =) Название: Re: QSqlQuery::size() Отправлено: DiamondRain от Декабрь 19, 2010, 17:16 Да я не очень понял, вы про запрос кол-ва строк именно в бд... а я не вкурил, искал функционал в кутэ =) Кьют, кьют он называется :) |