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

Вниз

Странное с ClientDataSet   Найти похожие ветки 

 
AkaSaint   (2003-06-02 00:28) [0]

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


 
Polevi ©   (2003-06-02 09:33) [1]

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

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


 
Polevi ©   (2003-06-02 09:34) [2]

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


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

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


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

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


 
Sandman25 ©   (2003-06-04 10:24) [5]

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


 
Sandman25 ©   (2003-06-04 10:31) [6]

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


 
AkaSaint   (2003-06-06 02:07) [7]

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



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
3-97504
DBDev
2003-06-05 11:31
2003.06.30
TADOQuery выдает ошибку:


11-97577
slipper
2002-10-15 17:16
2003.06.30
API and KOL


11-97564
Alexei Dragoner
2002-07-25 17:16
2003.06.30
А можно создавать/убирать statusbar налету?


14-97818
Paul McCartney
2003-06-11 16:29
2003.06.30
Моя правда


14-97874
Jumbo
2003-06-10 18:35
2003.06.30
Adobe PDF формат