|
|
|
Связи с помощью ADO
|
|||
|---|---|---|---|
|
#18+
У меня есть 4 таблицы в access базе. 3 из них связаны. Мне нужно что бы при запуске программы в 4 таблице создавались связи с двуме из них, и вкл. свойство "Каскадное обновление","Каскадное удаление", а по завершений эти связи удалялись?Как это реализовать. Пишу я на Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 13:50 |
|
||
|
Связи с помощью ADO
|
|||
|---|---|---|---|
|
#18+
Временные таблички в схему включаем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 14:01 |
|
||
|
Связи с помощью ADO
|
|||
|---|---|---|---|
|
#18+
Да, а связи создаются при открытии программы и удаляются по ее закрытии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 14:53 |
|
||
|
Связи с помощью ADO
|
|||
|---|---|---|---|
|
#18+
либо смотри в сторону ADOX, либо пользуй ALTER TABLE с предложением CONSTRAINT CONSTRAINT имя {PRIMARY KEY (ключевое_1[, ключевое_2 [, ...]]) | UNIQUE (уникальное_1[, уникальное_2 [, ...]]) | NOT NULL (непустое_1[, непустое_2 [, ...]]) | FOREIGN KEY [NO INDEX] (ссылка_1[, ссылка_2 [, ...]]) REFERENCES внешняяТаблица [(внешнееПоле_1 [, внешнееПоле_2 [, ...]])] [ON UPDATE CASCADE | SET NULL] [ON DELETE CASCADE | SET NULL]} а вообще - чудно это... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 15:10 |
|
||
|
Связи с помощью ADO
|
|||
|---|---|---|---|
|
#18+
Прошу прошения за очень тупой вопрос, но я еще только начел изучат БД, а что такое ALTER TABLE и где его взять, да и я поставил ADOX а он платный, может у кого есть нормальная вверсия(в смысле не выкидывает све тупое окно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 16:14 |
|
||
|
Связи с помощью ADO
|
|||
|---|---|---|---|
|
#18+
ой, расскажите, хде платный ADOX берут - может мне тоже срочно надо платный - а я сидю - не догадываюсь. -) ALTER TABLE - команда DDL подмножества SQL Исполняют ее Connection.Execute про ALTER TABLE - вооБЧе-то неплохо было бы понять, "хто та база", допустим, mdb. Допустим Jet 4 Тогда Инструкция ALTER TABLE Изменяет структуру таблицы, созданной с помощью инструкции CREATE TABLE. -------------------------------------------------------------------------------- Примечание. Ядро базы данных Microsoft Jet не поддерживает использование инструкции ALTER TABLE и всех инструкций языка определения данных (DDL) с базами данных, несовместимыми со стандартом Microsoft Jet. Применяйте вместо них методы Create объектов доступа к данным (DAO). -------------------------------------------------------------------------------- Синтаксис ALTER TABLE таблица {ADD {COLUMN тип поля[(размер)] [NOT NULL] [CONSTRAINT индекс] | ALTER COLUMN тип поля[(размер)] | CONSTRAINT составнойИндекс} | DROP {COLUMN поле I CONSTRAINT имяИндекса} } Ниже перечислены аргументы инструкции ALTER TABLE: Элемент Описание таблица Имя изменяемой таблицы. поле Имя поля, добавляемого в таблицу или удаляемого из нее. Имя поля, заменяемого в таблице. тип Тип данных поля. размер Размер поля в знаках (только для текстовых и двоичных полей). индекс Индекс для поля. Для получения более подробных сведений о создании индекса смотрите описание предложения CONSTRAINT. составнойИндекс Описание составного индекса, добавляемого к таблице. Для получения более подробных сведений о создании индекса смотрите описание предложения CONSTRAINT. имяИндекса Имя составного индекса, который следует удалить. Дополнительные сведения С помощью инструкции ALTER TABLE существующую таблицу можно изменить несколькими способами. Например: Добавить новое поле в таблицу с помощью предложения ADD COLUMN. В этом случае укажите имя поля, его тип и (для текстовых и двоичных полей) необязательный размер. Например, следующая инструкция добавляет в таблицу «Сотрудники» текстовое поле «Примечания» длиной 25 знаков: ALTER TABLE Сотрудники ADD COLUMN Примечания TEXT(25) Кроме того, можно создать индекс по этому полю. Для получения более подробных сведений о простых индексах смотрите описание предложения CONSTRAINT. Если для поля добавлено ограничение NOT NULL, то при добавлении новых записей это поле должно содержать допустимые данные. Для изменения типа существующего поля используйте инструкцию ALTER COLUMN. В этом случае укажите имя поля, его тип и (для текстовых и двоичных полей) необязательный размер. Например, следующая инструкция позволяет в таблице «Сотрудники» изменить тип поля «Почтовый индекс» (первоначально определенный как INTEGER), переопределив это поле как текстовое длиной 10 знаков: ALTER TABLE Сотрудники ALTER COLUMN ПочтовыйИндекс TEXT(10) Добавить составной индекс с помощью зарезервированных слов ADD CONSTRAINT. Для получения более подробных сведений о составных индексах смотрите описание предложения CONSTRAINT. Удалить поле с помощью зарезервированных слов DROP COLUMN. В этом случае укажите только имя поля. Удалить составной индекс с помощью зарезервированных слов DROP CONSTRAINT. В этом случае укажите только имя составного индекса, следующее за зарезервированным словом CONSTRAINT. -------------------------------------------------------------------------------- Примечания Нельзя добавить или удалить одновременно несколько полей или индексов. Инструкцию CREATE INDEX можно использовать для добавления к таблице простого или составного индекса, а инструкции ALTER TABLE и DROP служат для удаления индекса, созданного с помощью инструкций ALTER TABLE или CREATE INDEX. Допускается использование ограничения NOT NULL для одиночного поля, а также внутри именованного предложения CONSTRAINT, которое применяется к одиночному полю или к именованному предложению CONSTRAINT, предназначенному для создания составного индекса. Однако ограничение NOT NULL можно наложить на поле только один раз. При попытке применить это ограничение несколько раз возникает ошибка выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 16:50 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1642&tid=1675100]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 317ms |

| 0 / 0 |
