Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

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

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

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


 
sniknik ©   (2006-12-27 12:17) [1]

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]);


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

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

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


 
alex_*** ©   (2006-12-27 12:52) [3]

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



Страницы: 1 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.062 c
15-1172132265
Ega23
2007-02-22 11:17
2007.03.25
Компонентик не потестируете?


2-1172900738
Roman_S
2007-03-03 08:45
2007.03.25
Выделить несколько строк в ListView


2-1172919728
TIF
2007-03-03 14:02
2007.03.25
Регион и XP стиль: как их совместить вместе


2-1173013456
VitAngel
2007-03-04 16:04
2007.03.25
Переход на новую страницу


11-1151328705
lollol
2006-06-26 17:31
2007.03.25
Delphi SE and KOL