Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
14-97851
Andrey02
2003-06-12 19:31
2003.06.30
путь к Мои Документы


14-97850
DiamondShark
2003-06-12 17:33
2003.06.30
Осторожно! Суеверие!


3-97512
me2
2003-06-05 17:13
2003.06.30
Сортировка полей таблицы


3-97481
Antoxa1
2003-06-05 03:51
2003.06.30
Подскажите, пожалуйста, как получить имена и типы полей БД Access


3-97514
Demn
2003-05-30 05:25
2003.06.30
Кто-нибудь пытался срастить и Delphi?




   Наверх