Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2007, 21:16   #1
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию Триггер?

Как сделать, чтобы работал генератор индексов? Когда добавляю данные в таблицу через SQL - генератор работает и автоматически ставит индексы. А когда добавляю данные в таблицу из приложения (TTable, TNavigator), то он не работает. В чем дело?
yulia вне форума Ответить с цитированием
Старый 10.05.2007, 22:10   #2
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 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;

Вот.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 11.05.2007, 15:21   #3
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

Хорошо, а если у меня в базе есть триггер для создания индексов, его можно как-то подключить?
yulia вне форума Ответить с цитированием
Старый 11.05.2007, 18:38   #4
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Если только хранимой процедурой. Более конкретно сказать не могу.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 12.05.2007, 13:14   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

У тебя стоит тригер на before insert ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 12.05.2007, 13:25   #6
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

Да, именно на него
yulia вне форума Ответить с цитированием
Старый 12.05.2007, 13:28   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Ты проверял ? он впринципе не вызывается ил ипросто вызывается некорректно срабатывает ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 12.05.2007, 14:38   #8
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

Ну да проверяла. Если добавлять записи с помощью SQL-запроса INSERT, то вызывается и все нормально. А вот если просто в приложении Delphi заносить данные, то не работает.
yulia вне форума Ответить с цитированием
Старый 12.05.2007, 14:50   #9
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Ответьте на мой вопрос в предыдущем посте )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 12.05.2007, 15:03   #10
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

В каком предыдущем? )))
yulia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
триггер..плиз zinnyrik БД в Delphi 4 21.05.2007 16:08