![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Странное с 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
поразительно !