C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Оновление данных при вставке в таблицу
Гость
Отправлено: 02.11.2003, 18:33


Не зарегистрирован







Подскажите, как сделать так, чтобы при вставке новой записи в таблицу, у которой включена фильтрация, новая запись отображалась сразу в DBGrid. Refresh() не помогает.

Использую ADO и MS Access.
Admin
Отправлено: 02.11.2003, 20:03


Владимир

Группа: Администратор
Сообщений: 1190



Вообще-то, если вставляемая запись отвечает условиям фильтра,
она сразу появляется в DBGrid.

CODE


ADOTable1->Open(); // открываем таблицу

ADOTable1->Filtered = false;
   ADOTable1->Filter = "Name like 'C*'";
ADOTable1->Filtered = true; // включаем фильтрацию

 ADOTable1->Insert();
     ADOTable1->FieldByName("Name")->AsString = "Cuba";
 ADOTable1->Post(); // запись сразу отразиться в DBGrid

 ADOTable1->Insert();
     ADOTable1->FieldByName("Name")->AsString = "Austria";
 ADOTable1->Post(); // запись не отразиться в DBGrid



А самый проверенный способ — переоткрывать таблицу
ADOTable1->Close(); ADOTable1->Open();

Вернуться в Работа с базами данных в C++Builder