Главная страница
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.052 c
8-1153771588
ronyn
2006-07-25 00:06
2007.03.25
Прозрачность компонента.


3-1165578287
valwin
2006-12-08 14:44
2007.03.25
Доступ из Delphi к БД *.fdb т.е. FireBird через комп-ты Interbase


2-1172851515
sat
2007-03-02 19:05
2007.03.25
очистка canvas


9-1146058818
Checkers
2006-04-26 17:40
2007.03.25
Шашки


2-1172740953
tia
2007-03-01 12:22
2007.03.25
DLL