Форум: "Базы";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];
ВнизИндексация Таблиц Найти похожие ветки
← →
Dick Gonsales (2001-12-20 09:09) [3]CREATE INDEX myindexname ON mytable
для dbf создает индекс типа ndx т.е старый индекс, родной cdx Delphi вообще не создает. Он в лучшем случае создает опять же старый cdx.
Лично по мне так лучше написать на fox маленькую программу создания индексов и реиндиксации и вызывать ее из Delphi.
Но вообще то программно это делается с помощью функции dbiAddIndex (смотри Help по BDE по этой функции и по IDXDesc). Пример от туда (пример с ошибкой я ее исправил)
procedure fDbiAddIndex4(Tbl: TTable);
var
NewIndex: IDXDesc;
begin
NewIndex.szTagName := "NewIndex1"; // Имя индекса
NewIndex.bPrimary := False; // первичный ключ
NewIndex.bUnique := False; // Уникальность
NewIndex.bDescending := False; // Сортировка
NewIndex.bMaintained := True;
NewIndex.bSubset := False;
NewIndex.bExpIdx := False;
NewIndex.iFldsInKey := 1;
NewIndex.aiKeyFld[0] := 2;
NewIndex.szKeyExp := "";
NewIndex.szKeyCond := "";
NewIndex.bCaseInsensitive := False;
NewIndex.iBlockSize := 0;
Check(DbiAddIndex(Tbl.dbhandle, Tbl.handle, PChar(Tbl.TableName),
szFoxPro, NewIndex, nil));
// ^^^^^^ в примере стоит Paradox
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c