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

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

Странное с ClientDataSet


AkaSaint ©   (2003-06-02 00:28:00) 

Здравствуйте, имеет место сабж в 3-звенном приложении. Добавляю через сабж запись (Insert), заполняю поля, кроме поля-счетчика, делаю Post, затем ApplyUpdates. После Post ChangeCount = 1, после ApplyUpdates ChangeCount = 0, но UpdateStatus для текущей записи возвращает ukInserted, хотя по логике должен ukUnmodified. Может быть, я что-то не понимаю? Дело происходит в Builder 6.


AkaSaint   (2003-06-06 02:07:00) [1]

2Polevi: я не знаю всех особенностей работы ClientDataSet, но, может быть, там есть возможность, чтобы при открытии клиентского набора данных сервер передавал и очередное значение счетчика. Если это сделать нельзя, то ты прав.
2Sandman25:Проблема в том, что у меня используется ADO, а то, что ты говоришь, верно для BDE, а для ADO TDatabase не применим (если верить хелпу: только BDE-based applications), и CommitUpdates для TClientDataSet нет (только в TBDEDataSet).


Sandman25   (2003-06-04 10:31:00) [2]

Только что прочитал help. Если ApplyUpdates вызывается у TDatabase, то этого достаточно. А вот если ApplyUpdates вызывается у TDataset, То затем нужно вызвать TDatabase.Commit и TDataset.CommitUpdates


Sandman25   (2003-06-04 10:24:00) [3]

Давно не работал с CashedUpdates, но, по-моему, после ApplyUpdates надо еще вызвать CommitUpdates.


Polevi   (2003-06-03 22:33:00) [4]

как ты это себе представляешь, значение счетчика знает сервер после того как ты сделаешь ApplyUpdates, то есть после получении им Delta, запись физически добавляется в базу только после этого


AkaSaint   (2003-06-03 18:29:00) [5]

ReconcileError не возникает. Это, вроде бы, логично, ведь ChangeCount = 0 после ApplyUpdates говорит о том, что обновления были применены успешно. Может это все быть как-то связано с тем, что имеется поле счетчика? И нельзя ли сделать так, чтобы сразу после Insert это поле содержало свое значение?


Polevi   (2003-06-02 09:34:00) [6]

хм, после ApllyUpdates ?
видимо не отработал, ReconcileError что говорит


Polevi   (2003-06-02 09:33:00) [7]

>Добавляю через сабж запись (Insert)
>для текущей записи возвращает ukInserted

поразительно !


Наверх

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