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

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

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


Наверх

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