SQLзапрос на создание полней в таблице

EVB87_Ar
Дата: 09.10.2006 22:11:35
Ситуация:
есть таблица MS Access. Коннект к этой таблице через ADO.
Всё хорошо...

НО

Требуется написать SQLзапрос на добавление новых полей(столбцов, если смотреть Grid).

Кто может, кинь те пжта полный исходный код SQL...

Заранее списибо...
Anatoly Podgoretsky
Дата: 09.10.2006 22:43:35
Это тебе в другой форум
Док
Дата: 10.10.2006 08:58:26
EVB87_Ar
Кто может, кинь те пжта полный исходный код SQL...

==========
На форму добавить компонент ADOCommand
==========
procedure CreateTestTable(Sender: TObject);
begin
ADOCommand.CommandText:= 
+ 'CREATE TABLE  MyTestTable (' 
+ 'Key_Field COUNTER NOT NULL PRIMARY KEY,' //ключевое поле, оно же первичный ключ, оно же автоинкремент или счетчик
+ 'OutKeyField INTEGER NOT NULL REFERENCES AnotherTable ' 
+ 'ON UPDATE CASCADE ON DELETE CASCADE,'//внешний ключ, ссылающийся на таблицу AnotherTable, ключу запрещены нулевые значения, задано каскадное обновление и удаление
+ 'LastName CHAR(30),' //текстовое поле до 30 знаков 
+ 'BooleanField BIT DEFAULT TRUE,' //логическое поле с дефолтовым значением True
+ 'NumField INTEGER,'//целочисленное поле, можно добавить DEFAULT=0 или другое число
+ 'DateTimeField  DATETIME,' //поле даты
+ 'RubleDollarField  MONEY DEFAULT=0.00,' //денежки
+ ')';
ADOCommand.Execute;
end;

Можно еще до кучи проиндексировать внешний ключ
ADOCommand.CommandText:= 'CREATE INDEX idxOutKeyField ON MyTestTable (OutKeyField)';//хотя это можно сделать и в первом запросе словом CONSTRAINT
ADOCommand.Execute;

Дальше читаешь понятную книжку ТУТ и обязательно справку по JETSQL40.chm (у себя на машине я нашел ее в папке C:\Program Files\Common Files\Microsoft Shared\OFFICE11\1049) - так как особенности работы связки ADO+MS Access описаны именно здесь. Кстати, у Фленова тоже описаны азы простецким языком тут (надеюсь, не порушил его авторских прав, иначе мне - кердык :)

==========
Док.
EVB87_Ar
Дата: 10.10.2006 21:20:07
Хм... но этот-то(см. выше) исходник создаёт таблицу с нуля...
Но мне-то нужно ДОБАВИТЬ поля в СУЩЕСТВУЮЩУЮ таблицу...

Или может кто-то подскажет, как сделать такое же с помощью: ADOTable, или ADOчего-нибудь.
Anatoly Podgoretsky
Дата: 10.10.2006 21:36:23
Почему бы не посмотреть справку по Акцесс, это бесплатно!
EVB87_Ar
Дата: 12.10.2006 23:07:12
Всё, разобрался...

Большое и огромное спасибо Док'у...

Для тех, кому интересно:
Добавление поля в существующую таблицу:
  • ALTER TABLE [таблица] ADD COLUMN
    Редактирование:
  • ALTER TABLE [таблица] ALTER COLUMN
    Удаление:
  • ALTER TABLE [таблица] DROP COLUMN
  • Anatoly Podgoretsky
    Дата: 13.10.2006 01:15:46
    В справке написано