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

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

Как найти запись при динамическом типе курсора? [D7, MSSQL]


jeka_t ©   (2005-09-28 11:10:00) 

Открыл набор данных с помощью компонента ADOQuery
Тип курсора динамический (Методы Locate не поддерживаются провайдером...)
Пробую
Пробую медот:
ADOQuery1.Seek(StrToIntDef(Edit1.Text, 0), soFirstEQ);
Тоже не поддерживает...
А как же можно перейти на запись (Кроме метода:
ADOQuery1.First; While Not ADOQeury1.EOF do if ADOQuery1.FiledByName('Key').asInteger = StrToInt(Edit1.Text) then break else ADOQuery1.Next)?


Nikolay M.   (2005-09-28 13:28:00) [1]


> jeka_t   (28.09.05 12:16) [3]

Во-первых, причем тут провайдер Jet, если у тебя MS SQL?
Во-вторых, если у тебя MS SQL и, следовательно, как минимум клиент-серверная архитектура, какая связь между скоростью выполнения запроса на СЕРВЕРЕ и древностью КЛИЕНТСКИХ компьютеров?


Курдль   (2005-09-28 13:18:00) [2]

А select с условием не проканает? :)


jeka_t   (2005-09-28 12:16:00) [3]

Поймите, что при 150 юзеров с провайдером JET обновлять набор данных (из <= 10 записей) очень долго (доходит 10, 20 sek), так как у многих юзеров ещё древние машины...


Nikolay M.   (2005-09-28 11:56:00) [4]

Попробуй рассуждать логически. Хотя тебе объяснили надуманность твоих проблем и то, к чему приведет использование серверного курсора, твое упорство, надеюсь, чем-то обосновано. Открыл ты датасет с серверным курсором, клиент немного погулял по той части записей, которые зафетчились на клиента. Но бОльшая часть датасета (в общем случае) все еще находится на сервере. И как ты представляешь себе в таком случае поиск в данных, одна часть которых находится на клиенте, а другая - на сервере (грубо говоря)? Да еще с динамическим курсором.


sniknik   (2005-09-28 11:50:00) [5]

> Методы Locate не поддерживаются провайдером...
серьезно? а провайдер для MSSQL? чудны дела твои билли. ;)

сомнительно это. скорее всего ты опять в динамику полез (тип ctDynamic), вернее так с не не "слез" ;о), и уперся в ограничения по букмаркам (опять). а это ограничение как раз из типа и вытекает, нет указателей("номеров записей") -> нет и переходов по ним (локейту нужно как и гриду и тд.).
(нельзя послать когото в квартиру N15, если у квартир нет номеров... можно только послать его искать по очереди от квартиры к квартире по условию "пока не откроет мужик в кепочке" ;)

p.s. нужность динамики еще не отпала? ;)

p.p.s. Seek поддеживает пока (а похоже уже и вообще) единственные провайдер - Jet.


Наверх

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