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

Вниз

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

 
Виталий Панасенко   (2010-11-16 12:30) [0]

Нужно обновить только ОДНУ строку из набора данных. На Королевстве Делфи нашел подборку статей, но, честно, так и не понял, все равно обновляется весь набор данных.
Определил обработчик после открытия НД

procedure Tdm.tMdocAfterOpen(DataSet: TDataSet);
begin
with (dataSet as TADODataSet) do
 begin
  Properties["Update Resync"].Value:=adResyncAutoIncrement+adResyncUpdates;   Properties["Unique Table"].Value := "rm_mdoc";
  Properties["Update Criteria"].Value:=adCriteriaKey;
  Properties["Resync Command"].Value := "select m.mdoc_id, m.mdoc_date, m.mdoc_note,"+
   "m.ag_id, m.mng_id, m.mdoc_guid,"+
    "(select sum(doc_sum)from rm_doc where mdoc_id=M.mdoc_id) as mdoc_sum,"+
    "(select sum(doc_vatsum)from rm_doc where mdoc_id=M.mdoc_id) as mdoc_vatsum,"+
    "(select sum(doc_sumnnr)from rm_doc where mdoc_id=M.mdoc_id) as mdoc_nnrsum,"+
   "mdoc_status, mdoc_num  from   rm_mdoc M where m.mdoc_id = ?";
 end;

end;

Я так понимаю, фишка в Update Resync, но что конкретно указать? Какие значения/комбинация значений из?
adResyncNone  Никаких обновлений данных на стороне клиента после добавления или изменения не производится

adResyncAutoIncrement  После добавления новых строк считывается значение автоинкрементного поля (новое Identity) Это значение Update Resync принято по умолчанию

adResyncUpdates После изменения строки - измененная строка тут же считывается с сервера

adResyncInserts  После добавления строки новая строка сразу же считывается с сервера

adResyncConflicts  В случае ошибки, связанной с конфликтом при конкурирующим обновлении с сервера считывается значение строки, вызвавшей конфликт

adResyncAll Комбинация из всех возможных значений свойства Update Resync


 
Виталий Панасенко   (2010-11-24 17:38) [1]

Оказалось все несколько иначе.:-)
ADODataSet.UpdateCursorPos();
 ADODataSet.Recordset.Resync(adAffectCurrent, adResyncAllValues);
 ADODataSet.Resync([rmExact]);



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

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

Наверх




Память: 0.47 MB
Время: 0.005 c
2-1352918954
Anariem
2012-11-14 22:49
2013.06.30
ADOQwerty Delphi6


2-1352812667
Александр_2012
2012-11-13 17:17
2013.06.30
DBEdit.Exit и DBNavigator


15-1361084311
Kolan
2013-02-17 10:58
2013.06.30
iTXt png чанк на objective-c


2-1352735858
jacksotnik
2012-11-12 19:57
2013.06.30
Стиль scrollbar


15-1360737140
O'ShinW
2013-02-13 10:32
2013.06.30
Соединить точки без пересечений. Графы.