|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.05.2007, 21:16 | #1 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
Триггер?
Как сделать, чтобы работал генератор индексов? Когда добавляю данные в таблицу через SQL - генератор работает и автоматически ставит индексы. А когда добавляю данные в таблицу из приложения (TTable, TNavigator), то он не работает. В чем дело?
|
10.05.2007, 22:10 | #2 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
Когда ты работаешь с TTable ты определяешь жестко заданную таблицу, в которой уже должны быть проставлены индексы. Если в таблице есть первичный ключ, то индекс создается автоматически по всем полям, входящим в первичный ключ, если же нет, то индекс не создается. В запросах, индекс создается автоматически, насколько я помню, по всем полям. В программе для добавления индекса надо написать так:
with Tablel do begin DatabaseName := 'DBDEMOS'; TableType := ttParadox; TableName := 'DemoTable'; ... {Создание описаний полей} ... with IndexDefs do begin Clear; AddlndexDef; with Items[0] do begin Name := ' ' ; Fields := 'Fieldl'; Options := [ixPrimary, ixUnique]; end; AddlndexDef; with Items[1] do begin Name := 'Secondlndex'; Fields := 'Fieldl;Field2'; Options := [ixCaselnsensitive]; end; end; CreateTable; end; Вот.
Не надо ничего усложнять. Все достаточно тривиально.
|
11.05.2007, 15:21 | #3 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
Хорошо, а если у меня в базе есть триггер для создания индексов, его можно как-то подключить?
|
11.05.2007, 18:38 | #4 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
Если только хранимой процедурой. Более конкретно сказать не могу.
Не надо ничего усложнять. Все достаточно тривиально.
|
12.05.2007, 13:14 | #5 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
У тебя стоит тригер на before insert ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
12.05.2007, 13:25 | #6 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
Да, именно на него
|
12.05.2007, 13:28 | #7 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Ты проверял ? он впринципе не вызывается ил ипросто вызывается некорректно срабатывает ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
12.05.2007, 14:38 | #8 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
Ну да проверяла. Если добавлять записи с помощью SQL-запроса INSERT, то вызывается и все нормально. А вот если просто в приложении Delphi заносить данные, то не работает.
|
12.05.2007, 14:50 | #9 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Ответьте на мой вопрос в предыдущем посте )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
12.05.2007, 15:03 | #10 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
В каком предыдущем? )))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
триггер..плиз | zinnyrik | БД в Delphi | 4 | 21.05.2007 16:08 |