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

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

Индексирование Dbf


zzzrrv ©   (2003-08-21 09:51:00) 

Мастера подскажите как програмно создать ndx-индекс для dbf-файла.


sniknik   (2003-08-21 10:52:00) [1]

пдключаешся (ADO)
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties= dBase III;Persist Security Info=False
(важно)
делаещ последовательность команд (ADOCommand)
CREATE TABLE Table1 (ID Integer, Name Char(30))
CREATE INDEX ID ON Table1 (ID)
любуешся на ID.NDX

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


zzzrrv   (2003-08-21 10:33:00) [2]

У меня есть файл dBase III я пытаюсь его проиндексировать его вот так, но индекс не создается не знаю почему.

var
NewIndex: IDXDesc;
begin
Form1.Table2.Active:=False;
Form1.Table2.Exclusive:=True;
Form1.Table2.Active:=True;
with NewIndex do begin
szName := "bnkseek.ndx";
iIndexId := 0;
bPrimary := False;
bUnique := False;
bDescending := False;
bMaintained := False;
bSubset := False;
bExpIdx := True;
szKeyExp := "NEWNUM";
bCaseInsensitive := False;
end;
DbiAddIndex(Form1.Table2.dbhandle, Form1.Table2.handle, PChar(Form1.Table2.TableName), szDBASE, NewIndex, nil);
Form1.Table2.IndexFiles.Add("bnkseek.ndx");
Form1.Table2.IndexFieldNames:="newnum";
Form1.Table2.Active:=False;
Form1.Table2.Exclusive:=False;
Form1.Table2.Active:=True;


sniknik   (2003-08-21 10:13:00) [3]

выбери dBase III и других у тебя просто не получится.


Наверх

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