![]() |
|
|
![]()
|
|
| Inga |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 18.11.2005 Репутация: нет Всего: нет |
Заполняю, во время выполнения, данными ClientDataSet. Просмотрев их, хочу загрузить в этот же ClientDataSet другие данные.
Как проверить содержаться ли в ClientDataSet данные и если да, то очистить ClientDataSet и приступить к заполнению новыми данными. Удалять, наверное, правильно так: ClientDataSet2->EmptyDataSet(); ClientDataSet2->ClearFields(); |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| sexton |
|
|||
![]() sexton=Пономарь (eng) ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 5.5.2004 Где: Ульяновск Репутация: 5 Всего: 9 |
ClientDataSet2->ClearFields(); Очищает все поля только в активной записи. Можно например проверять ClientDataSet2->RecordCount >0 и делать EmptyDataSet. |
|||
|
||||
| Inga |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 18.11.2005 Репутация: нет Всего: нет |
Мне надо удалить и колонки и все записи, чтобы компонет пришел в такое состояние, когда его только положили на форму.
Пробовала так: DataSource3->DataSet->Active=false; Исключение пишет, что поля с тем же именем уже определены при попытки создать их для ClientDataset. Следовательно ClientDataset не очистился. Это сообщение отредактировал(а) Inga - 25.11.2005, 19:11 |
|||
|
||||
| sexton |
|
|||
![]() sexton=Пономарь (eng) ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 5.5.2004 Где: Ульяновск Репутация: 5 Всего: 9 |
Попробуй очищать списки Fields и FieldDefs
|
|||
|
||||
| Inga |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 18.11.2005 Репутация: нет Всего: нет |
Как очистить списки FieldDefs?
Fields очистить так?: if(ClientDataSet2->FieldDefs->Count) { for(int i=0; i<ClientDataSet2->FieldDefs->Count; i++) { ClientDataSet2->Edit(); ClientDataSet2->Fields->Fields[i]->Clear(); } } После очистки нужно ли еще ClientDataSet2->EmptyDataSet();? |
|||
|
||||
| Inga |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 18.11.2005 Репутация: нет Всего: нет |
Вроде получилось, исключения пропали, но надежен ли такой код?
Вставляю перед заполнением:
Все таки так правильно? |
|||
|
||||
| sexton |
|
|||
![]() sexton=Пономарь (eng) ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 5.5.2004 Где: Ульяновск Репутация: 5 Всего: 9 |
По-моему не хватает Post(), Если уж есть Edit()
|
|||
|
||||
| Inga |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 18.11.2005 Репутация: нет Всего: нет |
Спасибо, буду экспериментировать.
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |