Форум: "Базы";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
ВнизДобавление поля к таблице Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.016 c