![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
![]()
Как сделать, чтобы работал генератор индексов? Когда добавляю данные в таблицу через SQL - генератор работает и автоматически ставит индексы. А когда добавляю данные в таблицу из приложения (TTable, TNavigator), то он не работает. В чем дело?
|
![]() |
![]() |
![]() |
#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; Вот.
Не надо ничего усложнять. Все достаточно тривиально.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
![]()
Хорошо, а если у меня в базе есть триггер для создания индексов, его можно как-то подключить?
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
![]()
Если только хранимой процедурой. Более конкретно сказать не могу.
Не надо ничего усложнять. Все достаточно тривиально.
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
У тебя стоит тригер на before insert ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
![]()
Да, именно на него
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
Ты проверял ? он впринципе не вызывается ил ипросто вызывается некорректно срабатывает ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
![]()
Ну да проверяла. Если добавлять записи с помощью SQL-запроса INSERT, то вызывается и все нормально. А вот если просто в приложении Delphi заносить данные, то не работает.
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
Ответьте на мой вопрос в предыдущем посте )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
![]()
В каком предыдущем? )))
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
триггер..плиз | zinnyrik | БД в Delphi | 4 | 21.05.2007 16:08 |