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

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

Обновление ADODataset [D6, MSSQL]


KSK ©   (2005-08-30 16:22:00) 

Уважаемые мастера, в одной из статей прочитал что можно использовать свойство Update Resync для обновления данных, пример там такой: ADODataSet1.Properties['Update Resync'].Value:= adResyncAutoIncrement + adResyncInserts.
Но так как я понял - это можно обновить текущую запись.
Вопрос такой - как можно обновить строку данных не перемещая курсор, зная значение ключевого поля?

Спасибо за помощь.


sniknik   (2005-09-01 08:35:00) [1]

> Вопрос как работает Lookup - он же не перемещает курсор?
перемещает, только после работы возвращает на место, все так делают, если конечно не кешируют (тоже вариант) результат выборки гдето у себя "унутрях", тогда только на первом доступе "закачке в кеш" чтото меняется о оригинальном рекордсете.


KSK   (2005-08-31 12:37:00) [2]

Спасибо за ответ, так получается когда не задам вопрос на форум Вы всегда даёте советы, которые мне помогли в многих проблемах.


> для обновления данных в строке есть другое свойство - Resync
> Command, но оно тоже не даст возможности обновлятся не перемещая
> курсор


С Update Resync и с Resync Comman я нимного поэксперементировал.
Вопрос как работает Lookup - он же не перемещает курсор?
А обновление я сделал ADODataSet.Recordset.Resynс().


sniknik   (2005-08-31 00:24:00) [3]

вообщето это немного не то, этим ты даеш понять набору данных, что надо перезапрашивать значение автоинкремента и записи (поля формирующиеся на сервере/дефаултные) при  инсерте (добавлении записи).
для обновления данных в строке есть другое свойство - Resync Command, но оно тоже не даст возможности обновлятся не перемещая курсор.
курсор это своего рода индекс в датасете, не перемещая, не получиш нужной позиции, ни для записи, ни для чтения... вот задание "на дом" аналогичное, сделай массив (любой), задай переменную (iPos к примеру), после, допусти что только через iPos ты будеш обращатся к своему массиву (MyMas[iPos]:= ), и никак иначе. а теперь присвой iPos значение 0, и не меняя запиши чтонибудь в ячейке 5 массива...
и усложнение. "заверни" массив в класс, сделай методы которые чисто условный "допуск" прошлого задания превратят в правила, и ты получиш некое подобие рекордсета/курсора. (но только для демонстрации именно этого. и на на что другое совсем непохожее ;)


Наверх

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