Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

изменить структуру dbf [D7]


MAX ©   (2011-04-11 12:31:00) 

Добрый день, Мастера!
Помогите разобраться ....
Хочу добавить в уже существующую базу  2 поля программно,ан не выходит...Хотя отрабатывает, без ошибок, НО - поля не создает

with T_60 do begin

 Active := False;
 DatabaseName:='D:\Work\Data';
 TableName := 'I60.dbf';
 TableType := ttDBase;

 if not T_60.Exists then begin

   with FieldDefs do begin
       Clear;
     with AddFieldDef do begin
       Name := 'MATER';
       DataType := ftString;
       Size := 60;
     end;
     with AddFieldDef do begin

       Name := 'STROKACEX';
       DataType := ftString;
       Size := 90;
     end;
   end;
 end;

 Active := True;

end;


Anatoly Podgoretsky   (2011-04-12 09:04:00) [1]

Еще проще, не программно, а с помощью штатных утилит.


Anatoly Podgoretsky   (2011-04-12 09:03:00) [2]


> М-да,но использование  CreateTable приводит к очищение таблицы,
> а мне нужны данные к дальнейшей обработке....

Та ты собственноручно уничтожил все данные о других полях.
Проще всего это сделать с помощью SQL, но не всем, для некоторых это непреодолимое препятствие.
И что у тебя за СУБД, только не говори, что DBF


Германн   (2011-04-12 01:57:00) [3]


> изменить структуру dbf

А что есть dbf?
См. http://ru.wikipedia.org/wiki/DBF
И кто тебе дал гарантию, что BDE нормально будет работать с файлами dbf неизвестного происхождения?


Jeer   (2011-04-11 22:42:00) [4]

Если нужна теория - это одно.
Если сделать по быстрому, тоже мильен способов.
Например:
Создать таблицу с новой структурой, импортировать записи из старой, старую удалить, новую - переименовать


Max   (2011-04-11 13:34:00) [5]

М-да,но использование  CreateTable приводит к очищение таблицы,а мне нужны данные к дальнейшей обработке....

А вот  пробуя запрос  ....('ALTER TABLE I60.DBF ADD MATER char (60), ADD    STROKACEX char(90) ');  - почему-то не поддерживается тоже

Как это решить?


clickmaker   (2011-04-11 12:36:00) [6]

а CreateTable вызвать не забыл?


Наверх

Титульная страница Поиск, карта сайта Написать письмо