![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Прошу сразу не пинать. Я только учусь
Имеется база данных. На форму в Делфи установлены Tabel1, DataSource1, DBGrid1, Database1. Подскажите, как к уже готовой базе программно добавить один или несколько столбцов. БД класса Paradox |
|
#2
|
|||
|
|||
|
выполнить запрос вида:
Код:
ALTER TABLE [TableName] ADD [ColumnName] [ColumnType] [ColumnConstraints] То, что в кв. скобках - то, что ты должен указать. Единственное, что можно не указывать - ограничения (типа NOT NULL, UNIQUE и т.д. - последнее заскобенное) |
|
#3
|
|||
|
|||
|
Это SQL запрос?
Установил SQL компоненты. Можно ка нибудь через SQL? Последний раз редактировалось Dark_Angel79, 15.03.2010 в 20:49. |
|
#4
|
|||
|
|||
|
Может я что то не так делаю... ALERT неизвестный идентификатор
|
|
#5
|
|||
|
|||
|
Цитата:
не ALERT а ALTER |
|
#6
|
|||
|
|||
|
Исправил
Вот кусок программы: Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.Active:=false;
Table1.Close;
Table1.TableName:='foo';
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add ('ALTER TABLE FOO ADD column SSS STRING NOT NULL UNIQUE');
Query1.ExecSQL;
end;при нажатии на кнопку появляется сообщение "Capability not supported" Последний раз редактировалось Dark_Angel79, 15.03.2010 в 22:35. |
|
#7
|
|||
|
|||
|
База-то какая?
|
|
#8
|
|||
|
|||
|
Тип PARADOX. Название: FOO.db
|
|
#9
|
|||
|
|||
|
А если пробовать создавать базу с нуля средствами SQL, может тогда будут столбцы добавляться...
![]() |
|
#10
|
||||
|
||||
|
Во первых, эти 2 строчки равносильны, т.е. можно оставить одну из них
Код:
Table1.Active:=false; Table1.Close; Да и в запросе ошибка, попробуйте так: Код:
Query1.SQL.Add ('ALTER TABLE FOO ADD SSS VARCHAR(20) NOT NULL UNIQUE');Последний раз редактировалось TOJluK, 23.03.2010 в 10:32. |
|
#11
|
||||
|
||||
|
Странно, но оно действительно не работает )))
Поле новое добавляет, а вот с уникальным ключем уже не хочет. Т.е. так работает: Код:
Query1.SQL.Add ('ALTER TABLE FOO ADD SSS VARCHAR(20)'); |