Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2013.06.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
Виталий Панасенко   (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;
Скачать: [xml.tar.bz2];

Наверх





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


15-1360971055
Дмитрий С
2013-02-16 03:30
2013.06.30
Замерить время в Linux.


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


2-1352911408
1785
2012-11-14 20:43
2013.06.30
Перемещение выровненных компонентов по TPanel


15-1360919444
Медвежонок Пятачок
2013-02-15 13:10
2013.06.30
коротышки, ....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский