| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Базы данных > кеширование в ADO |
| Автор: Otouto 13.1.2010, 20:00 |
| всем привет. не мог бы кто нибудь объяснить как организовать кеширование данных в модели ADO. нужно для: есть несколько DBEdit-ов. нужно что бы данные заносились не сразу после записи их в отдельный DBEdit, а после заполнения всей строки таблицы. Допустим у нас 5 полей в таблице, мы заполняем 5 DBEdit-ов потом жмем кнопку "Добавить" и вносится новая строка. (ну или редактируется старая, в зависимости от выбора) я так понял что пока я не нажму кнопку "Добавить" данные должны кешироваться, как это сделать? знаю что у ADOTable есть свойство CacheSize, но не сильно понял пока как с ним рабоать |
| Автор: artsb 13.1.2010, 20:36 | ||
| Здесь кэширование не нужно. Размещаете на форме обычные Edit'ы. Заполняете их. При нажатии на кнопку добавить:
При нажатии кнопки изменить, вместо Insert вызываете метод Edit. Остальное также. Единственное, может некоторые поля придётся по-другому заполнять (например, многострочное поле желательно сначала очистить, но это ещё зависит от конкретной ситуации). |
| Автор: Otouto 13.1.2010, 20:49 |
| угу. этот способ работает. спасибо но т.к. это курсак, разобраться надо именно с ДБЭдитом и кешированием, так что если не сложно напишите несколько слов об этом |
| Автор: artsb 13.1.2010, 22:02 | ||
| Тогда можно сделать так: Завести флаг. И проверять его в событии BeforPost. Взводить флаг только после нажатия кнопки "Сохранить" или "Добавить".
Что-то типа такого... |