Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2010, 04:26   #11
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Добавил чудо строчку
Код:
Dm.FIBDS.Last;
И RecordCount начал показывать правильное число. То есть он показывает номер текущего элемента а не количество выбранных элементов.
Lokos вне форума Ответить с цитированием
Старый 04.10.2010, 12:05   #12
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

а если у тебя будет миллион записей по такому условию?
прикинь сколько по времени они будут фетчиться
а если в табличку еще и блобы добавить...

если тебе нужно получить кол-во, то проще в самом запросе делать так
Код:
SELECT count(1) from ...
soleil@mmc вне форума Ответить с цитированием
Старый 06.10.2010, 02:11   #13
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от soleil@mmc Посмотреть сообщение
а если у тебя будет миллион записей по такому условию?
прикинь сколько по времени они будут фетчиться
а если в табличку еще и блобы добавить...

если тебе нужно получить кол-во, то проще в самом запросе делать так
Код:
SELECT count(1) from ...
можно разъяснить зачем (1) и каков будет результат данного запроса.
Я понимаю так что он вернет количество записей соответствующих заданным условиям. Так что ли.
Lokos вне форума Ответить с цитированием
Старый 06.10.2010, 07:02   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Я понимаю так что он вернет количество записей соответствующих заданным условиям. Так что ли.
Угу. Точно так. Причём сделает это внутри сервера, то есть максимально эффективно.

Цитата:
зачем (1)
а вот единичка - это не обязательно. Гораздо больше распространено написание просто звёздочки, ну и имя этому столбцу с количеством неплохо дать. Примерно так:
Код:
select count(*) as CntRec from .....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.10.2010, 07:39   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
То есть он показывает номер текущего элемента а не количество выбранных элементов.
Отето новость... Либо он кривой либо ты что-то недопонял при его использовании.
Врядли разработчики компонента стали бы называть метод RecordCount, имея ввиду номер текущей записи, учитывая что логичнее его назвать RecNo
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.10.2010, 08:51   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Stilet
Цитата:
То есть он показывает номер текущего элемента а не количество выбранных элементов.
Отето новость... Либо он кривой либо ты что-то недопонял при его использовании.
Виталий, исключительно между нами — я лично думаю, что автор топика что-то не так делает... Но зачем с этим разбираться, если для получения количества записей гораздо эффективнее "дёрнуть" запросом прямо с сервера СУБД?! Ведь Вы же согласны, что это намного быстрее и лучше, чем тянуть все записи в датасет (даже если и не надо при этом становиться на последнюю ) ?!
p.s. вопросы, разумеется, риторические...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.10.2010, 09:28   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да я то согласен, но... Хозяин то барин. Мало ли чего у него. Я иногда наблюдал компоненты, которые вопреки здравому смыслу делали чето левое.
Например в одном старом компоненте работы с списками был метод Push. Угадай что он делал )))
не пра-а-а-вильно. Он выталкивал из списка заданный по номеру указанный элемент )
Мы долго не могли найти бока пока эксперимент не провели.
Но в данном случае 99% косяков автора.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.10.2010, 23:19   #18
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

согласитесь, что метод RecordCount не провидец и не может получить значение всех строк до тех пор пока не будет отфетчен весь датасет
именно в этом его грабли
ну и если ты его юзаешь, то знай особенности граблей
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В зависимости от выбора в Select изменить значения другого Select Tayfun HTML и CSS 3 18.08.2011 00:05
Excel 2003: Worksheets().Shapes().Select - выбирает не весь текст фигуры ZaeC Microsoft Office Excel 0 26.05.2010 14:15
Select t1.N,t1.FIO,(select t2.acc from t2 where t2.type=1) from t1,t2 mavlon_m SQL, базы данных 2 17.09.2009 15:28
Передача значения в <select></select> kkkggg Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 06.09.2007 00:26