![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO DBF [D6, dBase, FoxPro]
Volodya_ © (2006-03-29 12:14:00)Нужно связать 2 dbf файла,делаю так:
select * from table1 a
inner join table2 b on a.pole1=b.pole2
where a.pole3<>0
Говорит индекс ненайден. Создаю ему индекс CREATE INDEX table1 ON table1 (pole3) но не помогает, может чтото ёще гдето нада прописать?
vovnuke (2006-03-30 09:42:00) [1]нужно в DBF перед открытием обнулить 28 байт, который отвечает за наличие индексов у DBF, например вот так
procedureTDataModule.DBFBeforeOpen(DataSet: TDataSet);
var
lFileStream: TFileStream;
Buff: Byte;
begin
lFileStream := TFileStream.Create(FPath + '\DBFNAME', fmOpenWrite);
try
lFileStream.Seek(28, soFromBeginning);
Buff := 0;
lFileStream.Write(Buff, 1);
finally
lFileStream.Free;
end;
end;
Если эту DBF кто нибудь использует кроме тебя то после закрытия поставить туда 1
Volodya_ (2006-03-29 17:15:00) [2]что нужно сделать чтобы нашёл??? где прописать?
vovnuke (2006-03-29 13:06:00) [3]он не находит свой cdx