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

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

Добавить поля не потеряв данных [D7, Paradox]


bers ©   (2004-09-09 16:23:00) 

Доброго времени суток, мастера!
Имеется  2 таблицы(мастер- детали) с данными. Надо добавить поля в обе таблицы. Или через TTable это не сделать?

Заранее благодарен.


Reindeer Moss Eater   (2004-09-13 12:05:00) [1]

Почему бы не заглянуть в LocalSQL Guide?


bers   (2004-09-13 12:02:00) [2]

Query1.SQL.Add('alter table Lgota1 add  nachalo date, konets date'); -ошибка invalid use of keyword


bers   (2004-09-13 11:37:00) [3]

Подозреваю, что надо как то сохранить изменения между модификациями, но как?


bers   (2004-09-13 11:29:00) [4]

Я пытаюсь так :

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('alter table Lgota1 add  nachalo date');
Query1.ExecSQL;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('ALTER TABLE lgota1 ADD konets date');
Query1.ExecSQL; {Здесь возникает ошибка}


mike-d   (2004-09-13 11:09:00) [5]

http://www.degisy.com/degisy-db.php


bers   (2004-09-13 09:24:00) [6]

DatfBase Desktop -хорошо, но база разослана по районам, мне надо Update сотворить.

Пробую так:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('ALTER TABLE lgota1 ADD nahcalo date');
Query1.ExecSQL;

Если добавить только 1 поле, все хорошо, но мне надо несколько полей, получаю ошибку. Table not exist причем ссылается на какую то временную таблицу.


Anatoly Podgoretsky   (2004-09-10 19:12:00) [7]

Database Desktop без потерь.


сергей1   (2004-09-10 08:48:00) [8]

а где вы тут проблему увидели ?
создается новое поле:

alter table Table1
add  new_column varchar(10)

затем, если поле должно быть not null, после заполнения столбца значениями, добавляем ограничение:

alter table Table1
alter column new_col varchar(11) not null


radiant09   (2004-09-09 23:09:00) [9]

а если данные из таблицы слить в файл, очистить ее, добавить столбцы и залить обратно? что в духе...
 copy <tlb_name> to '<path>' delimiter '#' null '';
 delete from <tlb_name>;
 alter table ...
 copy <tlb_name> from '<path>' delimiter '#' null '';
или я не так понял суть вопроса?


bers   (2004-09-09 22:52:00) [10]

В общем то, этот вариант может быть и подойдет. Я уже подумывал, создать пустые таблицы(со всеми нужными полями), перенести данные и удалить старые таблицы.
Вроде можно добавить с помощью SQL но я в нем пока чайник :-/


megabyte   (2004-09-09 22:30:00) [11]

А м.б. тебе еще одну таблицу(№2) сделать и вносить туда данные, а в старую(№1) добавлять lookup поле, которое берет данные из новой таблицы №2?


bers   (2004-09-09 18:55:00) [12]

Ага, для хранения данных. Прога уже разослана по районам, с ней уже работают, и появилась необходимость вносить еще дополнительные сведения. Хотел сделать update, но ... не могу найти способ, как добавить недостающие поля.


megabyte   (2004-09-09 16:38:00) [13]

Только что попробовал добавить новое поле с даннымив таблицу. Было много мата... :)
Тебе какое поле-то надо?
С данными, lookup или вычисляемое?


Наверх

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