Показать сообщение отдельно
Старый 01.07.2004, 01:00     # 3
Da(nil)ka
Member
 
Регистрация: 12.01.2003
Сообщения: 252

Da(nil)ka Популярный человек на этом форумеDa(nil)ka Популярный человек на этом форумеDa(nil)ka Популярный человек на этом форумеDa(nil)ka Популярный человек на этом форумеDa(nil)ka Популярный человек на этом форумеDa(nil)ka Популярный человек на этом форумеDa(nil)ka Популярный человек на этом форуме
здесь могут нарисоваться ещё две проблемки:
1. в БД повреждено поле первичного ключа, особенно если он автоинкрементный
2. Bde имеет свойство кешировать записи, поэтому, чтобы на 90% быть уверенным что запись добавилась, в своё время использывал код
Код:
procedure TdmApp.ABdeFlushBuffers;
var
  i: Integer;
begin
  if not Session.Active or not Database.Connected then
    exit;
  with Database do
    for i := 0 to DataSetCount - 1 do
    begin
      if DataSets[i].Active and (DataSets[i] is TTable) then
        if not (DataSets[i] as TTable).ReadOnly then
        try
          DbiSaveChanges(DataSets[i].Handle);
        except
        end;
    end;
end;
а также метод Table.FlushBuffers после каждого изменения в БД
Da(nil)ka вне форума