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

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

DataSet.recNo [D6]


Страницы:   1 2

йцукен ©   (2005-10-26 10:56:00) 

Результат запроса query отображен в DBGRID
Если идет работа с Парадоксом то сабж отображает номер активной записи.
А вот если задействован MSSQL  то сабж показывает -1, при этом конечно query открыт и DataSet.RecordCount показывает все верно.
Подскажите в чем может быть дело


Desdechado   (2005-10-26 13:21:00) [21]

для узнавания количества записей вовсе не нужно тащить данные на клиента, достаточно select count(*)
а если надо совместить, то, имхо, корректнее (для больших выборок) будет в одной транзакции сначала select count, а потом select данные с одинаковыми условиями
хотя и несколько тяжеловесно


msguns   (2005-10-26 13:12:00) [22]

>Digitman ©   (26.10.05 12:51) [11]
>к людЯм нужно помягше, а на вещи смотреть ширше)

Так я ж вродя мягенько так, вежливенько ;)))

>Johnmen в [2] ведет речь (и правильно ведет !) о том, что рано или поздно может возникнуть необходимость адаптации алгоритма кл.приложения к иной СУБД, в которой эти самые RecNo и RecordCount , будучи работающими под старой СУБД и посему употребленными "в лоб", попросту летят коту под хвост, что потребует либо отказ от их использования либо основательную перетряску алгоритма... в то время как BOF/EOF, будучи употребленными к месту, обязаны и будут работать в клиентской среде любой СУБД.

Ага-ага.. Эт если я например, задумал построить курятник, то надо сразу делать его с таким расчетом, что в перспективе там могут содержаться коровые или, например, крокодилы.
Я вообще не могу взять в толк, почему некоторые Мастера на вопрос учащегося техникума о конструкции табуретки отсылают его в архитектурный институт или советуют для начала изучить основы сопромата.

Кстати, а есть полная уверенность, что в ближайшем будущем все новые компоненты лоступа будут поддерживать упомянутый BOF,EOF ?
И еще. Значицца, чтобы выяснить кол-во извлеченных записей, непременно надо "исползать" вдоль и поперек (от BOF до EOF) весь курсор ? Или я чего-то не "ущучил" ?


Sergey13   (2005-10-26 12:55:00) [23]

Опять холиваром запахло. 8-)
Кину тогда я две копейки что ли.
Использовать можно все что работает. Но с умом. И помня, что нет ничего, что работает всегда и везде одинаково. Ну и в справку почаще глядеть.

ИМХО, все разумеется.


Digitman   (2005-10-26 12:51:00) [24]


> msguns ©   (26.10.05 11:59) [7]


к людЯм нужно помягше, а на вещи смотреть ширше)

Johnmen в [2] ведет речь (и правильно ведет !) о том, что рано или поздно может возникнуть необходимость адаптации алгоритма кл.приложения к иной СУБД, в которой эти самые RecNo и RecordCount , будучи работающими под старой СУБД и посему употребленными "в лоб", попросту летят коту под хвост, что потребует либо отказ от их использования либо основательную перетряску алгоритма... в то время как BOF/EOF, будучи употребленными к месту, обязаны и будут работать в клиентской среде любой СУБД.

Надеюсь, мысль ты ущучил ?


Desdechado   (2005-10-26 12:45:00) [25]

2 msguns
еще один момент по нюансам:
в Си, например, реализация short int, int, long int очень сильно зависит от платформы (разрядность, например). И многие написанные ранее вещи в условиях нынешних компиляторов странно себя ведут при перекомпиляции. Хотя все в пределах стандарта. Это я к тому, что если есть возможность не использовать скользких свойств, то лучше их не использовать.


msguns   (2005-10-26 12:40:00) [26]

>Johnmen ©   (26.10.05 12:06) [8]
>А причём тут свойства RecNo и RecordCount???

Затем, что использовав их, можно не "тревожить" сервере и не заморачиваться с текстами запросов.

Тебе просто охота поспорить, ага ?


Johnmen   (2005-10-26 12:06:00) [27]

>msguns ©   (26.10.05 11:59) [7]

>Не вижу ничего плохого, а тем более предосудительного, в том, чтобы
>чисто на клиенте визуализировать порядковый номер и общее кол-во
>записей текущего курсора НД в тех случаях, где это удобно и полезно.
>Снабдив интерфейс соответствующим пояснением пользователю на этот
>счет.

А причём тут свойства RecNo и RecordCount???

>Еще раз напомню вечнуюмудрость: иногда лучше покашлять, чем сказать.

Вечны только глупость человеческая. И упрямство ;) (c) msguns ©   (26.10.05 11:59) [7]

:)))


msguns   (2005-10-26 11:59:00) [28]

>Johnmen ©   (26.10.05 11:25) [4]
>Истины бывают вечными. И не старятся...:)

Вечны только глупость человеческая. И упрямство ;)

>Desdechado ©   (26.10.05 11:33) [6]
>Двумя руками за!

Еще один !!!

>Ибо поведение разных видов датасетов для этих свойств разное, нюансы иногда меняются между версиями.

Ты имеешь в виду unidirectional ? Так не о них речь

>Поэтому при необходимости перехода от одного вида датасета к другому (привычки-то сохраняются!) возникают проблемы именно с этими свойствами.

У кого возникают ?
Не вижу ничего плохого, а тем более предосудительного, в том, чтобы чисто на клиентевизуализировать порядковый номер и общее кол-во записей текущего курсораНД в тех случаях, где это удобно и полезно. Снабдив интерфейс соответствующим пояснением пользователю на этот счет.

Еще раз напомню вечную мудрость: иногда лучше покашлять, чем сказать.


Desdechado   (2005-10-26 11:33:00) [29]

> Никогда и нигде не пользоваться RecNo и RecordCount !!!
Двумя руками за! Ибо поведение разных видов датасетов для этих свойств разное, нюансы иногда меняются между версиями. Поэтому при необходимости перехода от одного вида датасета к другому (привычки-то сохраняются!) возникают проблемы именно с этими свойствами.


йцукен   (2005-10-26 11:31:00) [30]

Спасибо
Обошелся через Bookmark и selectrows


Johnmen   (2005-10-26 11:25:00) [31]

>msguns ©   (26.10.05 11:18) [3]
>Опять за старое ?

Истины бывают вечными. И не старятся...:)


msguns   (2005-10-26 11:18:00) [32]

>Johnmen ©   (26.10.05 11:17) [2]
>Никогда и нигде не пользоваться RecNo и RecordCount !!!

Опять за старое ?


Johnmen   (2005-10-26 11:17:00) [33]

В том, что записи реально не получены клиентом.
Никогда и нигде не пользоваться RecNo и RecordCount !!!


Desdechado   (2005-10-26 11:15:00) [34]

RecNo для sql-серверов смысла не имеет, поэтому во многих датасетах просто не реализован
используй первичный ключ или суррогатное поле, имеющееся только в запросе


Страницы:   1 2

Наверх

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