![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать, сколько строк вернул запрос? [D5, IB6.x]
tria © (2003-10-02 10:27:00)
Использую TIBSql. Можно ли узнать, сколько строк вернул запрос? До того, как пройдусь по всем строкам?
tria (2003-10-02 11:28:00) [21]
В смысле два последовательных запроса в пределах одной транзакции SnapShot?
Vlad (2003-10-02 11:25:00) [22]
>tria © (02.10.03 11:18) [8]
Если ты уж настаиваешь на использовании IBSQL, тогда делай 2 компонента. Один тебе будет возвращать основной набор данных, а другой - count(*). Так должно быть быстрее.
tria (2003-10-02 11:18:00) [23]
Johnmen> Вопросы то и возникли после F1.
Vlad>Вопрос встал такой: я делаю запрос, после этого результаты отражаю в обычном гриде, буфер данных в виде TFields мне вроде как и не нужен. Но думаю, что много времени теряю при увеличении количества строк в гриде на 1 при каждом Next. Хочется как-то оптимизировать данную процедуру.
Johnmen (2003-10-02 11:03:00) [24]
Ответы на твои вопросы и сомнения:
TIBSQL+F1
RecordCount+F1
:)
Vlad (2003-10-02 11:01:00) [25]
Думаю что никак. В IBSQL нельзя получить сразу все данные, т.к. он фетчит их сам, по мере необходимости.
Дружеский совет: используй для таких целей IBQuery или IBDataSet. Там есть метод FetchAll
tria (2003-10-02 10:49:00) [26]
Не, что то вы не правы.
При открытии RecordCount всегда 0 или 1. При каждом Next он увеличивается на 1, пока не считаешь все строки.
А данные он возвращает, только не в привычном TField а TIBXSQLVAR.
mfender (2003-10-02 10:40:00) [27]
набор данных.
tria (2003-10-02 10:37:00) [28]
Johnmen> Если можно, расшифруй, что значит НД?
Johnmen (2003-10-02 10:35:00) [29]
TIBSQL не предназначен для возвращения НД !
mfender (2003-10-02 10:28:00) [30]
propertyRecordCount: Integer;