powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Master/Detail (batch mode) - Insert
1 сообщений из 1, страница 1 из 1
Master/Detail (batch mode) - Insert
    #32256317
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая проблема :
Мастер : LockType = ltOptimistic, Detail : ltBatchOptimistic,
Делаем insert в мастер таблицу заполняем поля, post пока не делаем.
Делаем insert в detail, заполняем корректно поля, делаем post - введенная в detail запись ИСЧЕЗАЕТ (остается от нее один ключ связи) !
Выяснил - виноват кусок в ADODB
function TCustomADODataSet.InternalGetRecord(Buffer: PChar;
GetMode: TGetMode; DoCheck: Boolean): TGetResult;
begin
if (Assigned(FParentDataSet) and FParentDataSet.Active and
(FParentDataSet.IsEmpty or (FParentDataset.State = dsInsert))) or
(MasterDataLink.Active and (DataSource.DataSet.IsEmpty or
(DataSource.DataSet.State = dsInsert))) then
begin
Result := grEOF;
Exit;
end;
....

Понятно, что можно скорректировать, убрав дурацкую проверку прямо в ADODB, но как-то нехорошо это... Нигде в Инете нет ссылок на такой трабл (точнее есть один топик в Usenet - вопрос без ответов :-).
Сталкивался ли кто-то с таким ? Нет ли методов нормальной корректировки (в унаследованном классе), у меня так не получилось из-за того, что InternalGetRecord невиртуальна, а GetRecord хоть виртуальна, да работает с private FFilterBuffer, который еще дофига за собой тащит...
Непонятки... То ли никто не пользует такой подход (редактирование шапки документа + табличной части), то ли master/detail не пользуют, странно это все...
Платформа - Delphi 7, MSDE 2000, ADO-разные версии пробовал, пока не локализовал проблему...
Вот и опять повод на VCL поругаться... Кстати TBetterADODataset пробовал - там это тоже не решено...
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Master/Detail (batch mode) - Insert
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]