![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Индексирование 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 и других у тебя просто не получится.