Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.12;
Скачать: CL | DM;

Вниз

Как в цикле создавать поля в новой таблице?   Найти похожие ветки 

 
AERO   (2003-04-18 17:34) [0]

Доброго всем времени суток! Подскажите новичку как правильно сделать? У меня есть массив с именами будущих полей. Требуется создать новую таблицу c именами полей из этого массива.Все поля одного типа. Попробовал в пример из Help"а добавить цикл - не работает:

...
with FieldDefs do begin
Clear;
with AddFieldDef do begin
for x:=0 to nn do begin // добавил цикл
Name := cA[x];
DataType := ftInteger;
Required := True;
end;
end;
end;
...

Подскажите, где я ошибся!


 
Anatoly Podgoretsky ©   (2003-04-18 17:37) [1]

А ты проверь в отладчике работает или нет и тамже посмотри, а вдруг NN = -1


 
Zz_   (2003-04-18 17:43) [2]

Clear;
for x:=0 to nn do begin
Add(cA[x],ftInteger,0,True);
end;


 
AERO   (2003-04-21 11:56) [3]

Спасибо всем кто ответил! Вариант Zz_ работает. Хотя все равно непонятно, почему AddFieldDef в цикле вызывает exception: " ... exception class EDBEngineError with message "Capability not supported" ...", а Add выполняется нормально? Может кто-нить пояснит в чем дело.


 
Anatoly Podgoretsky ©   (2003-04-21 13:43) [4]

А не пользуйся для начала WITH трудно читать и разбираться с логикой, обычно получается много ошибок.
Во вторых про ошибки надо говорить сразу, а не потом.


 
AERO   (2003-04-21 17:08) [5]

Прошу прощения за "корявый" вопрос, опыта общения на форуме нет (пишу второй раз). Ваши замечания учту.
Попробовал без WITH - таже ошибка EDBEngineError.
Вариант от Zz_ работает, хотя при компиляции появляется предупреждение:
[Warning] Unit1.pas(49): Type "" must be a class to have OLE automation
У меня с этой строки начинается цикл:
for x:=0 to nn do // строка 49
begin // строка 50
Table1.FieldDefs.Add(cA[x],ftInteger,0,True); // строка 51
end;

Переменные проверил - все значения допустимые.
Может ошибка еще в чем-то?



Страницы: 1 вся ветка

Текущий архив: 2003.05.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
3-34362
d_oleg
2003-04-22 16:41
2003.05.12
fib+ & BLOB


1-34464
alt7
2003-04-29 13:08
2003.05.12
Консольное приложение и TNotifyEvent


1-34421
vvvaaa
2003-04-28 15:46
2003.05.12
Handle


14-34569
woffs
2003-04-23 18:59
2003.05.12
Как конвертировать HTML в TXT


1-34428
oleg_sys
2003-04-28 18:03
2003.05.12
Как определить командную строку вызова программы?