Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Странный глюк у DBGrid


Автор: NiJazz 13.5.2004, 20:19
Вот участок кода:
Код
with dm.tbContacts do begin
  dm.tbContacts.FieldByName('Org_Id').AsInteger := dm.tbMain.FieldByName('Id').AsInteger;
  ApplyUpdates;
  FlushBuffers;
end;

Странно, что при выполнении этого участка в DBGrid отображаются две одинаковые записи, хотя в физической таблице только одна.
Я сделал так:
Код
with dm.tbContacts do begin
  dm.tbContacts.FieldByName('Org_Id').AsInteger := dm.tbMain.FieldByName('Id').AsInteger;
  ApplyUpdates;
  FlushBuffers;
  Close;
  Open;
end;

... и всё заработало нормально.
Почему так?

Автор: NiJazz 13.5.2004, 20:55
То же происходит и при вызове Append.

Автор: Akella 14.5.2004, 11:56
dm.tbContacts.refresh

а попробуй не использовать ApplyUpdates

Автор: NiJazz 14.5.2004, 18:12
dsergey
Мне нужны кэшируемые изменения, а без этого метода никак не сохранить данные в таблице при таком раскладе.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)