Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

число записей при sql запросе


vasa777 ©   (2012-06-20 12:16:00) 

на форме связаны
dbgrid
adconnection
adoquery
datasource

по кнопке в квери выполняется sql запрос и заполняется грид. как узнать число записей в нем?


DVM   (2012-06-20 16:49:00) [1]


> vasa777   (20.06.12 12:16) 

1) Число записей можно узнать только специальным запросом, который возвратит число записей.
2) Число записей можно узнать, пробежавшись по всем записям в ответе на запрос и посчитав их.
3) DBGrid не содержит данных, а лишь отображает.
4) DataSet, к которому привязан DBGrid может содержать данные (если он  "двунаправленный", т.е. когда в нем можно перемещаться назад, а может и не содержать всех, а только часть, если "однонаправленный" и перемещаться имеет смысл только вперед).
5) DataSet может не содержать всех данных, если он "двунаправленный" и если в нем не переместились в конец.

Т.е. вообще говоря количество записей неизвестно никому - ни серверу, ни клиенту, ни гриду, ни датасету, только если серверу не отдали специальной команды - посчитать записи.


sniknik   (2012-06-20 16:35:00) [2]

> если вы про ограничение в 2500
первый раз слышу, какие ограничения? в чем?


Dennis I. Komarov   (2012-06-20 15:06:00) [3]


> как узнать число записей в нем?

Зачем?

> и как из этого грида получить скажем 4ю запись?

Зачем? Точно из грида?

<telepator>for i := 1 to RecordCount do</>
Так не делай...


Кщд   (2012-06-20 14:25:00) [4]

>И. Павел ©   (20.06.12 14:08) [10]
>Да, тяжело приходится человеку, начинающему изучать Delphi и забредшему на этот форум :)

нет, тяжело лишь начинающему писатьна Delphi, не начав его изучать


Ega23   (2012-06-20 14:21:00) [5]


> С RecordCount поосторожнее будьте. Для некоторых БД и для
> некоторых настроек других БД (кажется, для каких-то типов
> курсоров) он может показывать —1.


С RecNo - ещё осторожнее надо быть, там -1 гораздо чаще встречается.


> vasa777   (20.06.12 12:35) [2]
>
> а это не одно и тоже?
> тех, которые возратил запрос.


Это не одно и то же. В DBGrid ты видишь только то, что влезает на экран по вертикали + [0..2] записей.
Если у тебя именно ADOQuery и с курсором ты ничего не мудрил, то можешь смело RecordCount использовать.


И. Павел   (2012-06-20 14:08:00) [6]

Да, тяжело приходится человеку, начинающему изучать Delphi и забредшему на этот форум :)


> [0] vasa777   (20.06.12 12:16)

С RecordCount поосторожнее будьте. Для некоторых БД и для некоторых настроек других БД (кажется, для каких-то типов курсоров) он может показывать —1.


Anatoly Podgoretsky   (2012-06-20 13:45:00) [7]


> Свидетель постоянно путал грид и набор данных.

Ладно не мучайся - в гриде нет данных/записей


Anatoly Podgoretsky   (2012-06-20 13:44:00) [8]

Теперь скажи что такое recno для парадокса и фокс про, одно это тоже или нет?


Anatoly Podgoretsky   (2012-06-20 13:43:00) [9]

Свидетель постоянно путал грид и набор данных.


vasa777   (2012-06-20 13:03:00) [10]

ага нашел RecordCount и recno


vasa777   (2012-06-20 12:56:00) [11]

если вы про ограничение в 2500 - возвращаемых записей мало, около 300.
4 - в квери не прописаны поля (в редакторе), но известны их имена (столбики), как получить значения 4 записи для поля скажем xxx


sniknik   (2012-06-20 12:42:00) [12]

> а это не одно и тоже?
выгляни в окно... видишь дорога? вот ее длинна или длинна того, что в окне, это одно и тоже?

> скажем 4ю запись?
как получить адрес 4го указателя "стоп" на дороге?


vasa777   (2012-06-20 12:39:00) [13]

++ и как из этого грида получить скажем 4ю запись?
или лучше табле прикрутить и с ней работать?


vasa777   (2012-06-20 12:35:00) [14]

а это не одно и тоже?
тех, которые возратил запрос.


Кщд   (2012-06-20 12:34:00) [15]

число записей в dbgrid или возвращаемых запросом?


Наверх

Титульная страница Поиск, карта сайта Написать письмо