Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
2-1161013609
Alex_KV
2006-10-16 19:46
2006.10.29
Про указатели


15-1160584898
Cooller
2006-10-11 20:41
2006.10.29
Написание программ на Delphi для Win64


2-1160985791
vitv
2006-10-16 12:03
2006.10.29
Проблема с процедурой


15-1160326656
default
2006-10-08 20:57
2006.10.29
TQueue


2-1160568882
Новичоккк
2006-10-11 16:14
2006.10.29
Integer в 32х и 64х битных системах





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский