![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
удаление Fields из ibQuery
Itonix © (2006-09-05 10:16:00)Создал массив филдов:
fField:array [0..10] of TField;
fFieldDef:array [0..10] of TFieldDef;
....
проверяю наличие такого филда, если его нет, то создаю:
...
if ibNumDistr.Fields.FindField('nom_isled') = nil then
begin
ibNumDistr.FieldDefs.Add('nom_isled', ftInteger);
fFieldDef[0] := ibNumDistr.FieldDefs.Find('nom_isled');
fField[0] := fFieldDef[0].CreateField(ibNumDistr);
fField[0].FieldName := 'nom_isled';
fField[0].Name := 'nom_isled';
end;
...
далее по ходу программы если этот филд существует, то его надо прибить. делаю так:
if (ibNumDistr.Fields.FindField('nom_isled')<>nil) then
begin
ibNumDistr.FieldDefs.Delete(ibNumDistr.FieldDefs.IndexOf('nom_isled'));
ibNumDistr.Fields.Remove(fField[0]);
end;
и вылазит ошибка что такое поле не найдено :(
Плохиш (2006-09-05 11:41:00) [1]
> Itonix © (05.09.06 10:16)
Ну что ж, распечатаем телепатор.
> if ibNumDistr.Fields.FindField('nom_isled') = nil then
> begin
> ibNumDistr.FieldDefs.Add('nom_isled', ftInteger);
> fFieldDef[0] := ibNumDistr.FieldDefs.Find('nom_isled');
>
> fField[0] := fFieldDef[0].CreateField(ibNumDistr);
> fField[0].FieldName := 'nom_isled';
> fField[0].Name := 'nom_isled';> end;
Ты создаёшь поле, которого нет в запросе, и говоришь, что данные для него надо брать из БД. Что ж ты хочешь? Система культурно просит данные, а ей говорят, что не знают такого поля.
PS. Создавай вычисляемое поле.
Itonix (2006-09-05 10:30:00) [2]К сожелению нет времи разбираться с КлиентДатаСет.как можно решить проблему удаления для моего примера?
ANB (2006-09-05 10:20:00) [3]
> Itonix © (05.09.06 10:16)
А, это - а зачем весь огород ? ClientDataSet ?