-
на форме связаны
dbgrid
adconnection
adoquery
datasource
по кнопке в квери выполняется sql запрос и заполняется грид. как узнать число записей в нем?
-
число записей в dbgrid или возвращаемых запросом?
-
а это не одно и тоже?
тех, которые возратил запрос.
-
++ и как из этого грида получить скажем 4ю запись?
или лучше табле прикрутить и с ней работать?
-
> а это не одно и тоже?
выгляни в окно... видишь дорога? вот ее длинна или длинна того, что в окне, это одно и тоже?
> скажем 4ю запись?
как получить адрес 4го указателя "стоп" на дороге?
-
если вы про ограничение в 2500 - возвращаемых записей мало, около 300.
4 - в квери не прописаны поля (в редакторе), но известны их имена (столбики), как получить значения 4 записи для поля скажем xxx
-
ага нашел RecordCount и recno
-
Свидетель постоянно путал грид и набор данных.
-
Теперь скажи что такое recno для парадокса и фокс про, одно это тоже или нет?
-
> Свидетель постоянно путал грид и набор данных.
Ладно не мучайся - в гриде нет данных/записей
-
Да, тяжело приходится человеку, начинающему изучать Delphi и забредшему на этот форум :)
> [0] vasa777 (20.06.12 12:16)
С RecordCount поосторожнее будьте. Для некоторых БД и для некоторых настроек других БД (кажется, для каких-то типов курсоров) он может показывать 1.
-
> С RecordCount поосторожнее будьте. Для некоторых БД и для
> некоторых настроек других БД (кажется, для каких-то типов
> курсоров) он может показывать —1.
С RecNo - ещё осторожнее надо быть, там -1 гораздо чаще встречается.
> vasa777 (20.06.12 12:35) [2]
>
> а это не одно и тоже?
> тех, которые возратил запрос.
Это не одно и то же. В DBGrid ты видишь только то, что влезает на экран по вертикали + [0..2] записей.
Если у тебя именно ADOQuery и с курсором ты ничего не мудрил, то можешь смело RecordCount использовать.
-
>И. Павел © (20.06.12 14:08) [10]
>Да, тяжело приходится человеку, начинающему изучать Delphi и забредшему на этот форум :)
нет, тяжело лишь начинающему писать на Delphi, не начав его изучать
-
> как узнать число записей в нем?
Зачем?
> и как из этого грида получить скажем 4ю запись?
Зачем? Точно из грида?
<telepator>for i := 1 to RecordCount do</>
Так не делай...
-
> если вы про ограничение в 2500
первый раз слышу, какие ограничения? в чем?
-
> vasa777 (20.06.12 12:16)
1) Число записей можно узнать только специальным запросом, который возвратит число записей.
2) Число записей можно узнать, пробежавшись по всем записям в ответе на запрос и посчитав их.
3) DBGrid не содержит данных, а лишь отображает.
4) DataSet, к которому привязан DBGrid может содержать данные (если он "двунаправленный", т.е. когда в нем можно перемещаться назад, а может и не содержать всех, а только часть, если "однонаправленный" и перемещаться имеет смысл только вперед).
5) DataSet может не содержать всех данных, если он "двунаправленный" и если в нем не переместились в конец.
Т.е. вообще говоря количество записей неизвестно никому - ни серверу, ни клиенту, ни гриду, ни датасету, только если серверу не отдали специальной команды - посчитать записи.