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

Вниз

Составной индекс в таблице foxpro   Найти похожие ветки 

 
Ренат ©   (2003-05-07 15:52) [0]

Пытаюсь создать таблицу

...
IndexDefs.Add("T2","fld1;fld2",[]);
CreateTable;

Ругается "Invalid index descriptor"
Что не так?


 
Ренат ©   (2003-05-07 16:04) [1]

неужели неизвестная проблема?


 
Anatoly Podgoretsky ©   (2003-05-07 20:15) [2]

foxpro не поддерживает составные индексы


 
Ренат ©   (2003-05-12 13:20) [3]

это можно каким-либо способом обойти?


 
sniknik ©   (2003-05-12 13:57) [4]

фохпро поддерживает индексные выражения (аналог fld1+fld2)

пример
Индексирование по нескольким полям
CLOSE ALL
USE customer
INDEX ON SUBSTR(city,1,5) + SUBSTR(company,1,6) TO citycomp


 
Ренат ©   (2003-05-12 17:14) [5]

тока в Delphi это не реализовать?


 
sniknik ©   (2003-05-12 17:38) [6]

почему не реализовать? можно. (разрешаю :о)) в Delphi вообще все можно, если специально не запрещено.

вот один из вариантов (пример безжалостно выдран из хелпа), также есть куча компонент которые тоже составной индекс "берут" (Halcyon к примеру)

Example 5: Add an expression index to a dBASE for Windows version table.

This example uses the following input:

fDbiAddIndex5(Table1);

The procedure is defined as:

procedure fDbiAddIndex5(Tbl: TTable);

var
NewIndex: IDXDesc;
begin
NewIndex.szTagName := "EXPINDEX";
NewIndex.bPrimary := False;
NewIndex.bUnique := False;
NewIndex.bDescending := False;
NewIndex.bMaintained := True;
NewIndex.bSubset := False;
NewIndex.bExpIdx := True;
NewIndex.iFldsInKey := 1;
NewIndex.aiKeyFld[0] := 2;
NewIndex.szKeyExp := "UPPER(FIELD1) + UPPER(FIELD2)";
NewIndex.szKeyCond := "";
NewIndex.bCaseInsensitive := False;
NewIndex.iBlockSize := 0;

Check(DbiAddIndex(Tbl.dbhandle, Tbl.handle, PChar(Tbl.TableName),
szDBASE, NewIndex, nil));
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
3-94661
Sirus
2003-05-07 11:19
2003.05.29
Как выбрать первую запись с определенными условиями???


1-94930
Max1111
2003-05-17 12:15
2003.05.29
Вызов справке.


1-94828
Rafik
2003-05-16 13:37
2003.05.29
Опять отчет


14-95043
Ежик
2003-05-09 10:46
2003.05.29
А где именинники сегодня?


1-94939
Anatolyk
2003-05-17 22:24
2003.05.29
Дата