Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вторичные индексы в Парадоксе [D7, Paradox]


PeterBuild ©   (2006-10-05 20:12:00) 

Здравствуйте! Не пинайте меня сильно если вопрос детский! У меня проблемка: Есть обычная таблица PX cделал в DB DeskTop поставил первичный индекс но по двум полям потому как получалось несоблюдение уникальности (у меня поля Имя и Ник), а сортировку хотелось по имени, ну это слава Богу работает! Но надо зделать сортировку и по таким полям как Счет и Взнос (Real), я создал вторичные индексы в том же ДескТопе по этим полям, поставил Maintained, потом повесил на TitleClick у RXDBGrid :
procedure TfrmMain.BaseGridTitleBtnClick(Sender: TObject; ACol: Integer;
 Field: TField);
var
 bActive, bExclusive: Boolean;
begin
 with DM.tblBase do
 begin
   bActive := Active;
   bExclusive :=Exclusive;
   IndexDefs.Update;
   Close;
     Exclusive := TRUE;
     Open;
     if Field.Name = 'Count' then begin
        AddIndex('ByCount', 'Count', [ixCaseInsensitive]);
     end;
     if Field.Name = 'Fond' then begin
        AddIndex('ByFond', 'Fond', [ixCaseInsensitive]);
     end;
     Close;
     Exclusive := bExclusive;
     Active := bActive;
     Open;
   end;
end;
теперь при нажатии на заголовки ничего не индексируется, хотя если запускаю с Delphi то подает признаки жизни т.е. Table is Busu но когда в автономном режиме то сортировки не происходит 8-( Подскажите плз. как правильно осуществить сортировку, заранее благодарен


Германн   (2006-10-08 02:22:00) [1]



> Johnmen ©   (07.10.06 18:01) [12]


Имхо.
Использование BDE для Парадокса - вполне нормальное решение. Поскольку родное. И проблем с TTable при работе с Парадоксом тоже нет. Могут быть проблемы с использованием самого Парадокса там, где это неоправдано, но это уже "другой коленкор". А TTable в ряде случаев предпочтительнее, чем запросы.


Johnmen   (2006-10-07 18:01:00) [2]


> Германн ©   (07.10.06 01:31) [11]


Скажу честно, я вообще книг не читаю :) Поэтому и было интересно, в какой это рекомендуют, хотя бы для Парадокса.


Германн   (2006-10-07 01:31:00) [3]


> Johnmen ©   (06.10.06 23:06) [6]
>
> А почему бы просто не выполнить запрос с сортировкой?
> И в каких книгах рекомендуют использовать TTable?

А ты Жень, видел такие книги, в которых НЕРЕКОМЕНДУЮТ использовать TTable в Парадоксе? Назови, плиз. Дополню свой список "Ignore" их авторами.


PeterBuild   (2006-10-07 00:36:00) [4]

Может быть потому что у этих индексов стоит xCaseSensetive или потому что стоит первичный ключ на двух полях сразу, эта сортировка по первичному ключу постоянно активна! В IndexDefs все нормально....
Может и в правду попробовать зделать сортировку через TRXQuery? Мне все равно надо делать фильтр, на єту же таблицу, а именно  оставить только конкретные имена: например оставить только Сереж ;-) Подскажите если не трудно где можна найти инфу по использованию TQuery только желательно чтобы поменьше абстрактных понятий было, а побольше примеров использование сортировки, фильтра...


Mike Kouzmine   (2006-10-07 00:32:00) [5]

Johnmen ©   (06.10.06 23:06) [6] Это парадокс.


Виталий Панасенко   (2006-10-07 00:16:00) [6]


> PeterBuild ©   (06.10.06 22:56) [5]


> Не дало ни каких результатов... Из за чего это может быть?
>  Подскажите если кто знает

Вызывает большие сомнения... У меня подобный код отлично работает...


PeterBuild   (2006-10-06 23:28:00) [7]

Ты имеешь в виду TQuery???
Если да то напиши плз. как правильно сгенирировать запрос в SQL чтобы это осуществить? И надо ли переопределять для DataSourse DataSet?? Киньте хоть пару слов!!! Обещаю скоро выучу SQL :-о Просто надо срочно доделать этот проектик....


Johnmen   (2006-10-06 23:06:00) [8]

А почему бы просто не выполнить запрос с сортировкой?
И в каких книгах рекомендуют использовать TTable?


PeterBuild   (2006-10-06 22:56:00) [9]


> когда индексы уже есть, их просто нужно выбрать, чтоб по
> ним автоматически упорядочилось отображение данны

А нужно ли переводить Table в монопольный режим???
У меня не работает...

добавил в BaseGridTitleBtnClick :
     DisableControls;
     if Field.Name = 'Count' then
     begin
        DM.tblBase.IndexName:='ByCount';
     end;
     if Field.Name = 'Fond' then
     begin
        DM.tblBase.IndexName:='ByFond';
     end;
     EnableControls;
Не дало ни каких результатов... Из за чего это может быть? Подскажите если кто знает


Desdechado   (2006-10-06 10:52:00) [10]

когда индексы уже есть, их просто нужно выбрать, чтоб по ним автоматически упорядочилось отображение данных


Виталий Панасенко   (2006-10-06 09:29:00) [11]

в продолжение
> Stanislav ©   (06.10.06 09:17) [2]

вместо того, что ПЕРЕсозадвать индексы, созданные в DBD


Stanislav   (2006-10-06 09:17:00) [12]

Насколько я знаю тебе нужно  на событие BaseGridTitleBtnClick
, изменять TTABLE.INDEXNAME, на нужный индекс.


PeterBuild   (2006-10-05 21:10:00) [13]

Ну пожалуйста.... Для Вас ето же легко, помогите начинающему....


Наверх

Титульная страница Поиск, карта сайта Написать письмо