![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как найти запись при динамическом типе курсора? [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.