Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

Вторичные индексы в Парадоксе   Найти похожие ветки 

 
PeterBuild ©   (2006-10-05 20:12) [0]

Здравствуйте! Не пинайте меня сильно если вопрос детский! У меня проблемка: Есть обычная таблица 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-( Подскажите плз. как правильно осуществить сортировку, заранее благодарен


 
PeterBuild ©   (2006-10-05 21:10) [1]

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


 
Stanislav ©   (2006-10-06 09:17) [2]

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


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

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

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


 
Desdechado ©   (2006-10-06 10:52) [4]

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


 
PeterBuild ©   (2006-10-06 22:56) [5]


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

А нужно ли переводить 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;
Не дало ни каких результатов... Из за чего это может быть? Подскажите если кто знает


 
Johnmen ©   (2006-10-06 23:06) [6]

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


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

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


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


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


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

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


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

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


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

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


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


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

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


 
Johnmen ©   (2006-10-07 18:01) [12]


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


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


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



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


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



Страницы: 1 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.035 c
3-1160135159
tomkat
2006-10-06 15:45
2006.12.10
Проблема с ADO в FastReport


15-1164201013
Тульский
2006-11-22 16:10
2006.12.10
Победить глюк №2328 в Windows 2000 Server (SP3)


2-1164534678
susergey
2006-11-26 12:51
2006.12.10
key code


2-1164292892
Panaev
2006-11-23 17:41
2006.12.10
Вопрос по MaskEdit


15-1164165372
Slider007
2006-11-22 06:16
2006.12.10
С днем рождения ! 22 ноября