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

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

индексация Баз Данных [D5, dBase, FoxPro]


sir_musatov ©   (2002-03-22 11:14:00) 

Уважаемые Мастера! при обращении к некоторым таблицам (DBF) возникает ошибка invalid index descriptor, как правильно провести индексацию (переиндексировать)

подскажите пожалуйста !!!


Владимир С   (2002-03-31 15:40:00) [1]

Здравствуйте уважаемые знатоки.
Помомогите разобраться в следующей проблеме.
Имеется таблица с данными формата Paradox c именем
Table с двумя полями NN - числовое и Name - текстовое,
Имеется индекс NN;Name.
В таблицу добавляется частями информация при помощи SQL запроса
Insert into .....Select NN, Name From ....
и частями удаляется командой DELETE FROM Table ...
Немогу понять почему индексы в таблице вообще не обновляются.
Помогите пожалуйста.


sir_musatov   (2002-03-22 15:47:00) [2]

теперь все ОК, СПАСИБО Lord Warlock ©


Lord Warlock   (2002-03-22 15:04:00) [3]

Query1.Close;
Query1.DatabaseName:=DirectoryListBox1.Directory;
Query1.SQL.Clear;
Query1.SQL.Add("select * from "+ #39 + //Насчет этого не знаю, проверять некогда
(filelistbox2.Items.Strings[filelistbox2.ItemIndex])+#39 );
Query1.Open; // <--- и вот так

А если индексы в таблице не работают, сноси индексный файл,
в Database Desktop открывай базу и индексируй заново

Программно можно это сделать если посмотришь хелпу на
функцию PackTable (там есть и пример)


sir_musatov   (2002-03-22 13:20:00) [4]

в ответ Invalid Index Descriptor
пробовал для открытия базы SQL
Query1.Active:=false;
Query1.DatabaseName:=DirectoryListBox1.Directory;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add("select * from "+ #39 +(filelistbox2.Items.Strings[filelistbox2.ItemIndex])+#39 );
Query1.ExecSQL; // <--- если закоментировать эти
Query1.Active:=true; // <--- строки, то запрос без
// ошибки, но не видно базу


может можно переиндексировать базу с помощю SQL


-=CrazyFish=-   (2002-03-22 12:42:00) [5]

может нужно у TTable перед открытием указать TableType:=ttFoxPro?


sir_musatov   (2002-03-22 12:21:00) [6]

Я не указываю IndexName, и кстати Database Desktop тоже не может открыть таблицу; досовая(на ФоксПро) прога (чьи это таблицы) прекрасно работает со всеми таблицами.


-=CrazyFish=-   (2002-03-22 11:18:00) [7]

Просто не нужно указывать IndexName, которого не существует, тогда и ошибки не будет. Нужные индексы можно задать в Database Desktop.


Наверх

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