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

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

АДО: Как обновить только одну строку в наборе


alex_*** ©   (2006-12-27 11:00:00) 

Пришлось взяться за дельфи. Некоторое время назад пытался решить проблему - полазил по форумам, но результата не получил.
Суть такая. Есть AdoDataSet, в который закачали данные. Добавление/Редактирование происходит из отдельного диалога путем вызова ХП. Как в наборе потом обновить только измененную запись. Решил кто-то такую вещь?


alex_***   (2006-12-27 12:52:00) [1]

Спасибо, попробую. Что-то такое писал, для MS SQL, Но profiler упорно показывал SELECT без WHERE. Может что не так делал. Щас еще раз попробую


sniknik   (2006-12-27 12:32:00) [2]

наверное нужно пояснить... первые 3 команды это для автообновления записи при ее изменении/добавлении (если изменяется к примеру 1 поле рекордсета, а нужно "подтянуть" дефаултные/связанные на сервере значения других полей, которые изменятся тоже)

вторые три это "чистое" обновление одной записи, нужно если изменили запись не в том же рекордсете, а отдельно (командой в ADOCommand к примеру).


sniknik   (2006-12-27 12:17:00) [3]

ADODataSet1.Properties['Unique Table'].Value:= 'table';
ADODataSet1.Properties['Resync Command'].Value:= 'select * from table where ID = ?';
ADODataSet1.Properties['Update Resync'].Value:= adResyncAll;

ADODataSet1.UpdateCursorPos;
ADODataSet1.Recordset.Resync(adAffectCurrent, adResyncAllValues);
ADODataSet1.Resync([rmExact]);


Наверх

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