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

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

Индексация Таблиц [D5, dBase, FoxPro, ]


Killavit ©   (2001-12-18 22:50:00) 

Как програмно проиндексировать *.dbf?
Как создать индексные файлы?


DmitryA   (2001-12-20 18:09:00) [1]

Люди! Это же очень далеко, или сложно!

Надо смотреть на мир ширше, а к вопросам относиться проще, и тогда к тебе потянутся заказчики! (см. Help!)

Table.Close();

Table.AddIndex("TagName", "Expression", [ixExpression]);


Dick Gonsales   (2001-12-20 09:09:00) [2]

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;


panov   (2001-12-19 07:18:00) [3]

CREATE INDEX myindexname ON mytable(myindexcolumn)


Дремучий   (2001-12-18 23:00:00) [4]

ОЧЕНЬ РЕКОМЕНДУЮ С ПОМОЩЬЮ LOCAL SQL
а то впсомню как до этого мучался...

сделай поиск файла localsql.hlp


Наверх

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