Форум: "Базы";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Внизудаление Fields из ibQuery Найти похожие ветки
← →
Itonix © (2006-09-05 10:16) [0]Создал массив филдов:
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;
и вылазит ошибка что такое поле не найдено :(
← →
ANB © (2006-09-05 10:20) [1]
> Itonix © (05.09.06 10:16)
А, это - а зачем весь огород ? ClientDataSet ?
← →
Itonix © (2006-09-05 10:30) [2]К сожелению нет времи разбираться с КлиентДатаСет.как можно решить проблему удаления для моего примера?
← →
Плохиш © (2006-09-05 11:41) [3]
> 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. Создавай вычисляемое поле.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 4.424 c