![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Составной индекс в таблице foxpro
Ренат © (2003-05-07 15:52:00)Пытаюсь создать таблицу
...
IndexDefs.Add("T2","fld1;fld2",[]);
CreateTable;
Ругается "Invalid index descriptor"
Что не так?
sniknik (2003-05-12 17:38:00) [1]почему не реализовать? можно. (разрешаю :о)) в 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;
Ренат (2003-05-12 17:14:00) [2]тока в Delphi это не реализовать?
sniknik (2003-05-12 13:57:00) [3]фохпро поддерживает индексные выражения (аналог fld1+fld2)
пример
Индексирование по нескольким полям
CLOSE ALL
USE customer
INDEX ON SUBSTR(city,1,5) + SUBSTR(company,1,6) TO citycomp
Ренат (2003-05-12 13:20:00) [4]это можно каким-либо способом обойти?
Anatoly Podgoretsky (2003-05-07 20:15:00) [5]foxpro не поддерживает составные индексы
Ренат (2003-05-07 16:04:00) [6]неужели неизвестная проблема?