Форум: "Базы";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];
Вниз
Странное с 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c