![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание индекса [D5, dBase, FoxPro]
Andrey © (2004-07-29 15:37:00)Здравствуйте. Мне необходимо создать индекс с базе данных в ходе выполнения программы, я нашел следующий код:
procedure TForm1.Button1Click(Sender: TObject);
var
bActive, bExclusive: Boolean ;
begin
bActive := Table1.Active ;
bExclusive := Table1.Exclusive ;
Table1.IndexDefs.Update ;
with Table1 do
begin
Close ;
Exclusive := TRUE ;
Open ;
if Table1.IndexDefs.IndexOf('FNAME') <> 0 then
Table1.AddIndex('FNAME', 'FNAME', [] ) ;
Close ;
Exclusive := bExclusive ;
Active := bActive ;
end ;
end;
При выполнении выдается сообщение: Table level change. Подскажите, пожалуйста, почему, что за уровень изменяется и, что с ней делать?
Andrey (2004-07-29 18:03:00) [1]Идея сделать экспорт мне нравится.Только как это сделать?
Anatoly Podgoretsky (2004-07-29 16:59:00) [2]Странная проверка if Table1.IndexDefs.IndexOf('FNAME') <> 0
bushmen (2004-07-29 16:27:00) [3]> чтобы программа при обращении к БД проверила если есть индекс,
> то провела фильтрацию данных, если нет, то создала индекс и
> провела фильтрацию данных.
Не проще ли сделать процедуру экспорта данных из новой версии файла в старый? Индексы при этом никуда не денутся
Andrey (2004-07-29 15:50:00) [4]Создавать индексы во время разработки не получится т.к. старая БД заменяется новой (дополненной) раз в квартал. Необходимо сделать так, чтобы программа при обращении к БД проверила если есть индекс, то провела фильтрацию данных, если нет, то создала индекс и провела фильтрацию данных.
bushmen (2004-07-29 15:42:00) [5]Создавать индексы во время разработки.