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

Вниз

Добавление поля к таблице   Найти похожие ветки 

 
Eagle Owl   (2003-08-30 00:28) [0]

Здравствуйте.
Вопрос такой. Можно ли к уже существующей таблице Paradox добавить
программно новое поле, и, если можно, то как?
Спасибо.


 
Langolier ©   (2003-08-30 00:44) [1]

Возьми Архангелького, там пример есть для Парадокса, начиная с создания самой таблицыи кончая заполнением ее...
Цитата:)
with Table1.FieldDefs.AddFieldDef do
begin
Name := "Dep";
DataType := ftString;
Size := 20;
end;


 
Eagle Owl   (2003-08-30 00:47) [2]

Архангельского взял...
Так это работает с уже созданной таблицей?


 
Langolier ©   (2003-08-30 01:04) [3]

Пробуй... Методом проб и ошибок... :-)
Только тама для только что созданных таблиц написано, и команда Clear; у тебя может очистить всю базу, так что сделай копию...


 
Eagle Owl   (2003-08-30 01:10) [4]

Для создания талицы подходит...
А для добавления к существующей не получается.


 
Verg ©   (2003-08-30 09:05) [5]

Конечно можно.
Программно - через TQuery, например.

SQL.Add("Alter table MyTable add NewField integer");
ExecSql;


 
Eagle Owl   (2003-08-30 22:41) [6]

Чо-то не получается таким макаром...
Поподробнее можно?
Или другой способ... если есть.


 
grusty ©   (2003-08-31 14:54) [7]

В уже созданную базу добавить новое поле невозможно.
Необходимо создать новую базу под другим именем, скопировать данные из старой базы в текущую, переименовать новую и удалить старую базу.


 
MsGuns ©   (2003-08-31 17:42) [8]

>grusty © (31.08.03 14:54) [7]
>В уже созданную базу добавить новое поле невозможно.

Неужели ?

>Eagle Owl

Таблица перед реструктуризацией должна быть в эксклюзиве.


 
grusty   (2003-08-31 18:19) [9]

--> MsGuns

Да хоть 3 раза в эксклюзиве - в уже созданную базу ты не добавишь поле!


 
MsGuns ©   (2003-08-31 18:36) [10]

>grusty (31.08.03 18:19) [9]
>Да хоть 3 раза в эксклюзиве - в уже созданную базу ты не добавишь поле!

А сколько уверенности-то ! И гонора ! Смотри, в орешник попадешь.
ЗЫ. Вообще-то в базах нет полей, а есть таблицы. А вот таблицы состоят из полей, которые...

А впрочем, об этом можно почитать в любой книжке по БД.


 
grusty ©   (2003-08-31 18:42) [11]

-->MsGuns

Базы, таблицы - по моему речь не об этом. А вот прежде чем что-то советовать, необходимо проверять - работает ли это или нет?


 
MadDogNT   (2003-08-31 21:56) [12]

Господа добрее надо быть! Человеку помощь нужна, а вы развели здесь словесные баталии, хотя grusty и не прав.
А добавить поле возможно следующим образом:
Query1.Close;
Query1.SQL.Text := "alter table Cons add New_Field Varchar(30)";
Query1.ExecSQL;
Где:
Cons - Имя таблицы Paradox.
New_Field - Имя поля таблицы.
Varchar - Тип поля.
(30) - Длина поля.
У Query1 в свойстве DatabaseName надо указать путь к таблицам (например C:\DB) или алиас.


 
DenK_vrtz ©   (2003-09-01 08:56) [13]

Eagle Owl, решилась проблема?!

Добавить поле в существующую таблицу можно, есстественно, можно.
И при помощи методов TTable и командой SQL (все см. выше)

grusty, прежде чем в наезды кидаться, думай о чем говоришь (а лучше проверяй). Ты учти на будущее - MsGuns © зря никогда говорить не будет.

Не ссорьтесь!
Всех с 1-ым сентибря :-)


 
VAleksey ©   (2003-09-01 10:41) [14]


> MsGuns © (31.08.03 18:36)

А...Эээ... С уважением, но такой способ действительно работает только для вновь создаваемых таблиц.


> Eagle Owl (30.08.03 00:28)

Жалко тебя огорчать, но придется перерыть тонны help - а в BDE32.hlp. См. функцию dbiDoRestructure. Uses BDE. Но там структура параметров :-О !!... Легче действительно с помощью SQL. По этому поводу могу предложить почитать LocalSQL.hlp.



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

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

Наверх




Память: 0.49 MB
Время: 0.035 c
1-71709
Dysan
2003-09-10 18:01
2003.09.22
работа с Excel 2000


14-71905
Nik8.
2003-09-03 11:27
2003.09.22
Прикольная история недавно прочитал


3-71466
AtoL
2003-08-28 09:42
2003.09.22
FIBPlus и DBLookUpComboBox


1-71571
Doberman
2003-09-11 19:18
2003.09.22
Циклы вычисления.


3-71530
Boss
2003-08-31 13:28
2003.09.22
INNER JOIN